qcacmn: Add new QDF API's to handle gpio requirements
Add new QDF APIs to handle gpio, irqf and timer related handling in TSF feature. Change-Id: Iff6f85c6debe351c5533906559400b4a51333d4d CRs-Fixed: 3469020
This commit is contained in:

committed by
Madan Koyyalamudi

parent
3a522a80e1
commit
36d5ce6684
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2021 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -25,6 +26,7 @@
|
||||
#define _I_QDF_IRQ_H
|
||||
|
||||
#include <linux/irq.h>
|
||||
#include <linux/irqreturn.h>
|
||||
|
||||
#define __QDF_IRQ_TYPE_NONE IRQ_TYPE_NONE
|
||||
#define __QDF_IRQ_TYPE_EDGE_RISING IRQ_TYPE_EDGE_RISING
|
||||
@@ -48,5 +50,9 @@
|
||||
#define __QDF_IRQ_PER_CPU_DEVID IRQ_PER_CPU_DEVID
|
||||
#define __QDF_IRQ_IS_POLLED IRQ_IS_POLLED
|
||||
#define __QDF_IRQ_DISABLE_UNLAZY IRQ_DISABLE_UNLAZY
|
||||
#define __QDF_IRQF_SHARED IRQF_SHARED
|
||||
#define __QDF_IRQF_TRIGGER_RISING IRQF_TRIGGER_RISING
|
||||
#define __QDF_IRQ_NONE IRQ_NONE
|
||||
#define __QDF_IRQ_HANDLED IRQ_HANDLED
|
||||
|
||||
#endif /* _I_QDF_IRQ_H */
|
||||
|
@@ -103,6 +103,41 @@ static inline ktime_t __qdf_ktime_real_get(void)
|
||||
return ktime_get_real();
|
||||
}
|
||||
|
||||
/**
|
||||
* __qdf_ktime_get_ns() - Gets the current time nano seconds
|
||||
*
|
||||
* Return: ktime in nano sec
|
||||
*/
|
||||
static inline ktime_t __qdf_ktime_get_ns(void)
|
||||
{
|
||||
return ktime_get_ns();
|
||||
}
|
||||
|
||||
/**
|
||||
* __qdf_ktime_get_real_ns() - Gets the current time in ns using UTC
|
||||
*
|
||||
* Return: ktime in nano sec
|
||||
*/
|
||||
static inline ktime_t __qdf_ktime_get_real_ns(void)
|
||||
{
|
||||
return ktime_get_real_ns();
|
||||
}
|
||||
|
||||
/**
|
||||
* __qdf_ktime_compare - compare two qdf_ktime_t objects
|
||||
* @ktime1: time as qdf_ktime_t object
|
||||
* @ktime2: time as qdf_ktime_t object
|
||||
*
|
||||
* Return:
|
||||
* * ktime1 < ktime2 - return <0
|
||||
* * ktime1 == ktime2 - return 0
|
||||
* * ktime1 > ktime2 - return >0
|
||||
*/
|
||||
static inline int __qdf_ktime_compare(ktime_t ktime1, ktime_t ktime2)
|
||||
{
|
||||
return ktime_compare(ktime1, ktime2);
|
||||
}
|
||||
|
||||
/**
|
||||
* __qdf_ktime_add_ns() - Adds ktime object and nanoseconds value and
|
||||
* returns the ktime object
|
||||
@@ -138,7 +173,6 @@ static inline int64_t __qdf_ktime_to_ms(ktime_t ktime)
|
||||
return ktime_to_ms(ktime);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* __qdf_system_ticks() - get system ticks
|
||||
*
|
||||
@@ -150,7 +184,6 @@ static inline __qdf_time_t __qdf_system_ticks(void)
|
||||
}
|
||||
|
||||
#define __qdf_system_ticks_per_sec HZ
|
||||
|
||||
/**
|
||||
* __qdf_system_ticks_to_msecs() - convert system ticks into milli seconds
|
||||
* @ticks: System ticks
|
||||
@@ -304,7 +337,6 @@ static inline uint64_t __qdf_get_monotonic_boottime(void)
|
||||
}
|
||||
|
||||
#if defined (MSM_PLATFORM)
|
||||
|
||||
/**
|
||||
* __qdf_get_log_timestamp() - get msm timer ticks
|
||||
*
|
||||
@@ -474,4 +506,8 @@ static inline void __qdf_time_ktime_get_real_time(__qdf_timespec_t *ts)
|
||||
}
|
||||
#endif
|
||||
|
||||
static inline void __qdf_usleep_range(unsigned long min, unsigned long max)
|
||||
{
|
||||
usleep_range(min, max);
|
||||
}
|
||||
#endif
|
||||
|
@@ -142,6 +142,9 @@ typedef unsigned long __sgtable_t;
|
||||
*/
|
||||
#define __QDF_MAX_SCATTER 1
|
||||
#define __QDF_NSEC_PER_MSEC NSEC_PER_MSEC
|
||||
#define __QDF_NSEC_PER_USEC NSEC_PER_USEC
|
||||
#define __QDF_USEC_PER_MSEC USEC_PER_MSEC
|
||||
#define __QDF_NSEC_PER_SEC NSEC_PER_SEC
|
||||
|
||||
#if defined(__LITTLE_ENDIAN_BITFIELD)
|
||||
#define QDF_LITTLE_ENDIAN_MACHINE
|
||||
|
@@ -82,6 +82,13 @@ int64_t qdf_ktime_to_ns(qdf_ktime_t ktime)
|
||||
|
||||
qdf_export_symbol(qdf_ktime_to_ns);
|
||||
|
||||
qdf_ktime_t qdf_time_ktime_set(const s64 secs, const unsigned long nsecs)
|
||||
{
|
||||
return __qdf_time_ktime_set(secs, nsecs);
|
||||
}
|
||||
|
||||
qdf_export_symbol(qdf_time_ktime_set);
|
||||
|
||||
qdf_time_t qdf_system_ticks(void)
|
||||
{
|
||||
return __qdf_system_ticks();
|
||||
@@ -249,3 +256,31 @@ unsigned long long qdf_time_sched_clock(void)
|
||||
}
|
||||
|
||||
qdf_export_symbol(qdf_time_sched_clock);
|
||||
|
||||
void qdf_usleep_range(unsigned long min, unsigned long max)
|
||||
{
|
||||
__qdf_usleep_range(min, max);
|
||||
}
|
||||
|
||||
qdf_export_symbol(qdf_usleep_range);
|
||||
|
||||
qdf_ktime_t qdf_ktime_get_ns(void)
|
||||
{
|
||||
return __qdf_ktime_get_ns();
|
||||
}
|
||||
|
||||
qdf_export_symbol(qdf_ktime_get_ns);
|
||||
|
||||
qdf_ktime_t qdf_ktime_get_real_ns(void)
|
||||
{
|
||||
return __qdf_ktime_get_real_ns();
|
||||
}
|
||||
|
||||
qdf_export_symbol(qdf_ktime_get_real_ns);
|
||||
|
||||
int qdf_ktime_compare(qdf_ktime_t ktime1, qdf_ktime_t ktime2)
|
||||
{
|
||||
return __qdf_ktime_compare(ktime1, ktime2);
|
||||
}
|
||||
|
||||
qdf_export_symbol(qdf_ktime_compare);
|
||||
|
Reference in New Issue
Block a user