From 10da44e93018b837b9388cf54f5bdb6583a2741e Mon Sep 17 00:00:00 2001 From: Satish kumar sugasi <ssugas@codeaurora.org> Date: Mon, 14 Mar 2016 17:52:50 -0700 Subject: [PATCH] FM: Add config option for cherokee specific code This ensures FM application works across all chipsets Change-Id: Ia9711fd18c79146678a72992b32a577e73c57693 --- Android.mk | 7 +- jni/Android.mk | 3 + jni/android_hardware_fm.cpp | 131 +++++++++++++++++++------------- qcom/fmradio/FmReceiver.java | 104 ++++++++++++++++--------- qcom/fmradio/FmReceiverJNI.java | 54 ++++++------- qcom/fmradio/FmTransceiver.java | 11 ++- 6 files changed, 187 insertions(+), 123 deletions(-) diff --git a/Android.mk b/Android.mk index fc3a54e..0c77a12 100644 --- a/Android.mk +++ b/Android.mk @@ -16,6 +16,9 @@ LOCAL_MODULE:= qcom.fmradio include $(BUILD_JAVA_LIBRARY) +ifeq ($(BOARD_HAS_QCA_FM_SOC), "cherokee") +LOCAL_CFLAGS += -DFM_SOC_TYPE_CHEROKEE +endif include $(LOCAL_PATH)/jni/Android.mk LOCAL_PATH := $(LOCAL_DIR_PATH) include $(LOCAL_PATH)/fmapp2/Android.mk @@ -29,8 +32,8 @@ include $(LOCAL_PATH)/fm_hci/Android.mk LOCAL_PATH := $(LOCAL_DIR_PATH) include $(LOCAL_PATH)/helium/Android.mk -LOCAL_PATH := $(LOCAL_DIR_PATH) -include $(LOCAL_PATH)/libfm_jni/Android.mk #endif # is-vendor-board-platform #endif # BOARD_HAVE_QCOM_FM #endif # Not (TARGET_USES_AOSP) +LOCAL_PATH := $(LOCAL_DIR_PATH) +include $(LOCAL_PATH)/libfm_jni/Android.mk diff --git a/jni/Android.mk b/jni/Android.mk index b554b40..06a313f 100644 --- a/jni/Android.mk +++ b/jni/Android.mk @@ -10,6 +10,9 @@ ConfigFmThs.cpp \ FmIoctlsInterface.cpp \ FmPerformanceParams.cpp +ifeq ($(BOARD_HAS_QCA_FM_SOC), "cherokee") +LOCAL_CFLAGS += -DFM_SOC_TYPE_CHEROKEE +endif LOCAL_LDLIBS += -ldl LOCAL_SHARED_LIBRARIES := \ libandroid_runtime \ diff --git a/jni/android_hardware_fm.cpp b/jni/android_hardware_fm.cpp index 7503ced..53e757a 100644 --- a/jni/android_hardware_fm.cpp +++ b/jni/android_hardware_fm.cpp @@ -47,15 +47,6 @@ #define RADIO "/dev/radio0" #define FM_JNI_SUCCESS 0L #define FM_JNI_FAILURE -1L - -static JNIEnv *g_jEnv = NULL; -static JavaVM *g_jVM = NULL; - -namespace android { -char *FM_LIBRARY_NAME = "fm_helium.so"; -char *FM_LIBRARY_SYMBOL_NAME = "FM_HELIUM_LIB_INTERFACE"; -void *lib_handle; - #define SEARCH_DOWN 0 #define SEARCH_UP 1 #define HIGH_BAND 2 @@ -86,6 +77,19 @@ enum search_dir_t { SCAN_UP, SCAN_DN }; + + +static JNIEnv *g_jEnv = NULL; +static JavaVM *g_jVM = NULL; + +namespace android { + +#ifdef FM_SOC_TYPE_CHEROKEE +char *FM_LIBRARY_NAME = "fm_helium.so"; +char *FM_LIBRARY_SYMBOL_NAME = "FM_HELIUM_LIB_INTERFACE"; +void *lib_handle; + + typedef void (*enb_result_cb)(); typedef void (*tune_rsp_cb)(int Freq); typedef void (*seek_rsp_cb)(int Freq); @@ -405,7 +409,7 @@ static fm_vendor_callbacks_t fm_callbacks = { fm_ch_det_th_rsp_cb, fm_thread_evt_cb }; - +#endif /* native interface */ static jint android_hardware_fmradio_FmReceiverJNI_acquireFdNative (JNIEnv* env, jobject thiz, jstring path) @@ -505,9 +509,10 @@ static jint android_hardware_fmradio_FmReceiverJNI_getFreqNative { int err; long freq; - +#ifdef FM_SOC_TYPE_CHEROKEE err = vendor_interface->get_fm_ctrl(V4L2_CID_PRV_IRIS_FREQ, freq); -/* if (fd >= 0) { +#else + if (fd >= 0) { err = FmIoctlsInterface :: get_cur_freq(fd, freq); if(err < 0) { err = FM_JNI_FAILURE; @@ -519,7 +524,8 @@ static jint android_hardware_fmradio_FmReceiverJNI_getFreqNative ALOGE("%s: get freq failed because fd is negative, fd: %d\n", LOG_TAG, fd); err = FM_JNI_FAILURE; - } */ + } +#endif return err; } @@ -528,9 +534,10 @@ static jint android_hardware_fmradio_FmReceiverJNI_setFreqNative (JNIEnv * env, jobject thiz, jint fd, jint freq) { int err; - +#ifdef FM_SOC_TYPE_CHEROKEE err = vendor_interface->set_fm_ctrl(V4L2_CID_PRV_IRIS_FREQ, freq); -/* if ((fd >= 0) && (freq > 0)) { +#else + if ((fd >= 0) && (freq > 0)) { err = FmIoctlsInterface :: set_freq(fd, freq); if (err < 0) { ALOGE("%s: set freq failed, freq: %d\n", LOG_TAG, freq); @@ -540,9 +547,10 @@ static jint android_hardware_fmradio_FmReceiverJNI_setFreqNative } } else { ALOGE("%s: set freq failed because either fd/freq is negative,\ - fd: %d, freq: %d\n", LOG_TAG, fd, freq); + fd: %d, freq: %d\n", LOG_TAG, fd, freq); err = FM_JNI_FAILURE; - } */ + } +#endif return err; } @@ -552,8 +560,10 @@ static jint android_hardware_fmradio_FmReceiverJNI_setControlNative { int err; ALOGE("id(%x) value: %x\n", id, value); - -/* if ((fd >= 0) && (id >= 0)) { +#ifdef FM_SOC_TYPE_CHEROKEE + err = vendor_interface->set_fm_ctrl(id, value); +#else + if ((fd >= 0) && (id >= 0)) { err = FmIoctlsInterface :: set_control(fd, id, value); if (err < 0) { ALOGE("%s: set control failed, id: %d\n", LOG_TAG, id); @@ -565,9 +575,8 @@ static jint android_hardware_fmradio_FmReceiverJNI_setControlNative ALOGE("%s: set control failed because either fd/id is negavtive,\ fd: %d, id: %d\n", LOG_TAG, fd, id); err = FM_JNI_FAILURE; - } */ - err = vendor_interface->set_fm_ctrl(id, value); - + } +#endif return err; } @@ -590,7 +599,6 @@ static jint android_hardware_fmradio_FmReceiverJNI_SetCalibrationNative LOG_TAG, fd); err = FM_JNI_FAILURE; } - return err; } /* native interface */ @@ -598,10 +606,10 @@ static jint android_hardware_fmradio_FmReceiverJNI_getControlNative (JNIEnv * env, jobject thiz, jint fd, jint id) { int err; - int val; + long val; ALOGE("id(%x)\n", id); - +#ifdef FM_SOC_TYPE_CHEROKEE err = vendor_interface->get_fm_ctrl(id, val); if (err < 0) { ALOGE("%s: get control failed, id: %d\n", LOG_TAG, id); @@ -609,7 +617,8 @@ static jint android_hardware_fmradio_FmReceiverJNI_getControlNative } else { err = val; } -/* if ((fd >= 0) && (id >= 0)) { +#else + if ((fd >= 0) && (id >= 0)) { err = FmIoctlsInterface :: get_control(fd, id, val); if (err < 0) { ALOGE("%s: get control failed, id: %d\n", LOG_TAG, id); @@ -621,7 +630,8 @@ static jint android_hardware_fmradio_FmReceiverJNI_getControlNative ALOGE("%s: get control failed because either fd/id is negavtive,\ fd: %d, id: %d\n", LOG_TAG, fd, id); err = FM_JNI_FAILURE; - } */ + } +#endif return err; } @@ -631,7 +641,7 @@ static jint android_hardware_fmradio_FmReceiverJNI_startSearchNative (JNIEnv * env, jobject thiz, jint fd, jint dir) { int err; - +#ifdef FM_SOC_TYPE_CHEROKEE err = vendor_interface->set_fm_ctrl(V4L2_CID_PRV_IRIS_SEEK, dir); if (err < 0) { ALOGE("%s: search failed, dir: %d\n", LOG_TAG, dir); @@ -639,7 +649,8 @@ static jint android_hardware_fmradio_FmReceiverJNI_startSearchNative } else { err = FM_JNI_SUCCESS; } -/* if ((fd >= 0) && (dir >= 0)) { +#else + if ((fd >= 0) && (dir >= 0)) { ALOGD("startSearchNative: Issuing the VIDIOC_S_HW_FREQ_SEEK"); err = FmIoctlsInterface :: start_search(fd, dir); if (err < 0) { @@ -652,8 +663,8 @@ static jint android_hardware_fmradio_FmReceiverJNI_startSearchNative ALOGE("%s: search failed because either fd/dir is negative,\ fd: %d, dir: %d\n", LOG_TAG, fd, dir); err = FM_JNI_FAILURE; - } */ - + } +#endif return err; } @@ -663,6 +674,7 @@ static jint android_hardware_fmradio_FmReceiverJNI_cancelSearchNative { int err; +#ifdef FM_SOC_TYPE_CHEROKEE err = vendor_interface->set_fm_ctrl(V4L2_CID_PRV_SRCHON, 0); if (err < 0) { ALOGE("%s: cancel search failed\n", LOG_TAG); @@ -670,7 +682,8 @@ static jint android_hardware_fmradio_FmReceiverJNI_cancelSearchNative } else { err = FM_JNI_SUCCESS; } -/* if (fd >= 0) { +#else + if (fd >= 0) { err = FmIoctlsInterface :: set_control(fd, V4L2_CID_PRV_SRCHON, 0); if (err < 0) { ALOGE("%s: cancel search failed\n", LOG_TAG); @@ -682,8 +695,8 @@ static jint android_hardware_fmradio_FmReceiverJNI_cancelSearchNative ALOGE("%s: cancel search failed because fd is negative, fd: %d\n", LOG_TAG, fd); err = FM_JNI_FAILURE; - } */ - + } +#endif return err; } @@ -716,7 +729,7 @@ static jint android_hardware_fmradio_FmReceiverJNI_setBandNative (JNIEnv * env, jobject thiz, jint fd, jint low, jint high) { int err; - +#ifdef FM_SOC_TYPE_CHEROKEE err = vendor_interface->set_fm_ctrl(V4L2_CID_PRV_IRIS_UPPER_BAND, high); if (err < 0) { ALOGE("%s: set band failed, high: %d\n", LOG_TAG, high); @@ -730,7 +743,8 @@ static jint android_hardware_fmradio_FmReceiverJNI_setBandNative } else { err = FM_JNI_SUCCESS; } -/* if ((fd >= 0) && (low >= 0) && (high >= 0)) { +#else + if ((fd >= 0) && (low >= 0) && (high >= 0)) { err = FmIoctlsInterface :: set_band(fd, low, high); if (err < 0) { ALOGE("%s: set band failed, low: %d, high: %d\n", @@ -743,8 +757,8 @@ static jint android_hardware_fmradio_FmReceiverJNI_setBandNative ALOGE("%s: set band failed because either fd/band is negative,\ fd: %d, low: %d, high: %d\n", LOG_TAG, fd, low, high); err = FM_JNI_FAILURE; - } */ - + } +#endif return err; } @@ -754,7 +768,7 @@ static jint android_hardware_fmradio_FmReceiverJNI_getLowerBandNative { int err; ULINT freq; - +#ifdef FM_SOC_TYPE_CHEROKEE err = vendor_interface->get_fm_ctrl(V4L2_CID_PRV_IRIS_LOWER_BAND, freq); if (err < 0) { ALOGE("%s: get lower band failed\n", LOG_TAG); @@ -762,7 +776,9 @@ static jint android_hardware_fmradio_FmReceiverJNI_getLowerBandNative } else { err = freq; } -/* if (fd >= 0) { + return err; +#endif + if (fd >= 0) { err = FmIoctlsInterface :: get_lowerband_limit(fd, freq); if (err < 0) { ALOGE("%s: get lower band failed\n", LOG_TAG); @@ -774,7 +790,7 @@ static jint android_hardware_fmradio_FmReceiverJNI_getLowerBandNative ALOGE("%s: get lower band failed because fd is negative,\ fd: %d\n", LOG_TAG, fd); err = FM_JNI_FAILURE; - } */ + } return err; } @@ -785,6 +801,7 @@ static jint android_hardware_fmradio_FmReceiverJNI_getUpperBandNative { int err; ULINT freq; +#ifdef FM_SOC_TYPE_CHEROKEE err = vendor_interface->get_fm_ctrl(V4L2_CID_PRV_IRIS_UPPER_BAND, freq); if (err < 0) { @@ -793,7 +810,9 @@ static jint android_hardware_fmradio_FmReceiverJNI_getUpperBandNative } else { err = freq; } -/* if (fd >= 0) { + return err; +#endif + if (fd >= 0) { err = FmIoctlsInterface :: get_upperband_limit(fd, freq); if (err < 0) { ALOGE("%s: get lower band failed\n", LOG_TAG); @@ -805,8 +824,7 @@ static jint android_hardware_fmradio_FmReceiverJNI_getUpperBandNative ALOGE("%s: get lower band failed because fd is negative,\ fd: %d\n", LOG_TAG, fd); err = FM_JNI_FAILURE; - } */ - + } return err; } @@ -815,7 +833,7 @@ static jint android_hardware_fmradio_FmReceiverJNI_setMonoStereoNative { int err; - +#ifdef FM_SOC_TYPE_CHEROKEE err = vendor_interface->get_fm_ctrl(V4L2_CID_PRV_IRIS_AUDIO_MODE, val); if (err < 0) { ALOGE("%s: set audio mode failed\n", LOG_TAG); @@ -823,7 +841,9 @@ static jint android_hardware_fmradio_FmReceiverJNI_setMonoStereoNative } else { err = FM_JNI_SUCCESS; } -/* if (fd >= 0) { + return err; +#endif + if (fd >= 0) { err = FmIoctlsInterface :: set_audio_mode(fd, (enum AUDIO_MODE)val); if (err < 0) { err = FM_JNI_FAILURE; @@ -832,8 +852,7 @@ static jint android_hardware_fmradio_FmReceiverJNI_setMonoStereoNative } } else { err = FM_JNI_FAILURE; - } */ - + } return err; } @@ -1315,7 +1334,9 @@ static jint android_hardware_fmradio_FmReceiverJNI_setSpurDataNative static void classInitNative(JNIEnv* env, jclass clazz) { - ALOGE("ClassInit native called \n"); + ALOGI("ClassInit native called \n"); +#ifdef FM_SOC_TYPE_CHEROKEE + jclass dataClass = env->FindClass("qcom/fmradio/FmReceiverJNI"); javaClassRef = (jclass) env->NewGlobalRef(dataClass); lib_handle = dlopen(FM_LIBRARY_NAME, RTLD_NOW); @@ -1353,15 +1374,17 @@ error: if (lib_handle) dlclose(lib_handle); lib_handle = NULL; +#endif } static void initNative(JNIEnv *env, jobject object) { +#ifdef FM_SOC_TYPE_CHEROKEE int status; - ALOGE("Init native called \n"); + ALOGI("Init native called \n"); if (vendor_interface) { - ALOGE("Initializing the FM HAL module & registering the JNI callback functions..."); + ALOGI("Initializing the FM HAL module & registering the JNI callback functions..."); status = vendor_interface->hal_init(&fm_callbacks); if (status) { ALOGE("%s unable to initialize vendor library: %d", __func__, status); @@ -1371,16 +1394,16 @@ static void initNative(JNIEnv *env, jobject object) { } ALOGE("object =%p, env = %p\n",object,env); mCallbacksObj = env->NewGlobalRef(object); - ALOGE("mCallbackobject =%p, \n",mCallbacksObj); - - +#endif } static void cleanupNative(JNIEnv *env, jobject object) { +#ifdef FM_SOC_TYPE_CHEROKEE if (mCallbacksObj != NULL) { env->DeleteGlobalRef(mCallbacksObj); mCallbacksObj = NULL; } +#endif } /* * JNI registration. diff --git a/qcom/fmradio/FmReceiver.java b/qcom/fmradio/FmReceiver.java index 042956a..95a8c5e 100644 --- a/qcom/fmradio/FmReceiver.java +++ b/qcom/fmradio/FmReceiver.java @@ -306,6 +306,31 @@ public class FmReceiver extends FmTransceiver private static final int SEARCH_MPXDCC = 0; private static final int SEARCH_SINR_INT = 1; + + public boolean isSmdTransportLayer() { + String transportLayer = SystemProperties.get("ro.qualcomm.bt.hci_transport"); + if (transportLayer.equals("smd")) + return true; + else + return false; + } + + public static boolean isRomeChip() { + String chip = SystemProperties.get("qcom.bluetooth.soc"); + if (chip.equals("rome")) + return true; + else + return false; + } + + public static boolean isCherokeeChip() { + String chip = SystemProperties.get("qcom.bluetooth.soc"); + if (chip.equals("cherokee")) + return true; + else + return false; + } + /** * Constructor for the receiver Object */ @@ -332,9 +357,9 @@ public class FmReceiver extends FmTransceiver Log.e(TAG, "FmReceiver constructor"); //registerClient(callback); mCallback = callback; - if (mCallback == null) - Log.e(TAG, "mCallback is NULL"); - mFmReceiverJNI = new FmReceiverJNI(mCallback); + if (isCherokeeChip()) { + mFmReceiverJNI = new FmReceiverJNI(mCallback); + } } @@ -462,10 +487,12 @@ public class FmReceiver extends FmTransceiver Log.v(TAG, "enable: CURRENT-STATE : FMOff ---> NEW-STATE : FMRxStarting"); status = super.enable(configSettings, FmTransceiver.FM_RX); - if( status == true ) { - /* Do Receiver Specific Enable Stuff here.*/ - // status = registerClient(mCallback); - mRdsData = new FmRxRdsData(sFd); + if (status == true ) { + if (!isCherokeeChip()) { + /* Do Receiver Specific Enable Stuff here.*/ + status = registerClient(mCallback); + } + mRdsData = new FmRxRdsData(sFd); } else { status = false; @@ -1408,8 +1435,11 @@ public class FmReceiver extends FmTransceiver int piLower = 0; int piHigher = 0; - // FmReceiverJNI.getBufferNative(sFd, buff, 3); - buff = FmReceiverJNI.getPsBuffer(buff); + if(isCherokeeChip()) { + buff = FmReceiverJNI.getPsBuffer(buff); + } + else + FmReceiverJNI.getBufferNative(sFd, buff, 3); /* byte is signed ;( * knock down signed bits @@ -1462,8 +1492,12 @@ public class FmReceiver extends FmTransceiver int piLower = 0; int piHigher = 0; - // FmReceiverJNI.getBufferNative(sFd, buff, 2); - buff = FmReceiverJNI.getPsBuffer(buff); + if (isCherokeeChip()) { + buff = FmReceiverJNI.getPsBuffer(buff); + } + else { + FmReceiverJNI.getBufferNative(sFd, buff, 2); + } String rdsStr = new String(buff); /* byte is signed ;( * knock down signed bit @@ -1492,9 +1526,13 @@ public class FmReceiver extends FmTransceiver int rt_len; int i, j = 2; byte tag_code, tag_len, tag_start_pos; - -// bytes_read = FmReceiverJNI.getBufferNative(sFd, rt_plus, BUF_RTPLUS); - rt_plus = FmReceiverJNI.getPsBuffer(rt_plus); + if (isCherokeeChip()) { + rt_plus = FmReceiverJNI.getPsBuffer(rt_plus); + } + else + { + bytes_read = FmReceiverJNI.getBufferNative(sFd, rt_plus, BUF_RTPLUS); + } bytes_read = rt_plus[0]; if (bytes_read > 0) { if (rt_plus[RT_OR_ERT_IND] == 0) @@ -1531,8 +1569,14 @@ public class FmReceiver extends FmTransceiver String encoding_type = "UCS-2"; int bytes_read; - // bytes_read = FmReceiverJNI.getBufferNative(sFd, raw_ert, BUF_ERT); - raw_ert = FmReceiverJNI.getPsBuffer(raw_ert); + if(isCherokeeChip()) + { + raw_ert = FmReceiverJNI.getPsBuffer(raw_ert); + } + else + { + bytes_read = FmReceiverJNI.getBufferNative(sFd, raw_ert, BUF_ERT); + } bytes_read = raw_ert[0]; if (bytes_read > 0) { ert_text = new byte[raw_ert[LEN_IND]]; @@ -1556,21 +1600,6 @@ public class FmReceiver extends FmTransceiver return mRdsData; } - public boolean IsSmdTransportLayer() { - String transportLayer = SystemProperties.get("ro.qualcomm.bt.hci_transport"); - if (transportLayer.equals("smd")) - return true; - else - return false; - } - - public boolean IsRomeChip() { - String chip = SystemProperties.get("qcom.bluetooth.soc"); - if (chip.equals("rome")) - return true; - else - return false; - } /*============================================================== FUNCTION: getAFInfo ==============================================================*/ @@ -1599,11 +1628,14 @@ public class FmReceiver extends FmTransceiver int [] AfList = new int [50]; int lowerBand, i; int tunedFreq, PI, size_AFLIST; - - // FmReceiverJNI.getBufferNative(sFd, buff, TAVARUA_BUF_AF_LIST); - buff = FmReceiverJNI.getPsBuffer(buff); - - if (IsSmdTransportLayer() || IsRomeChip()) { + if (isCherokeeChip()) { + buff = FmReceiverJNI.getPsBuffer(buff); + } + else + { + FmReceiverJNI.getBufferNative(sFd, buff, TAVARUA_BUF_AF_LIST); + } + if (isSmdTransportLayer() || isRomeChip() || isCherokeeChip()) { Log.d(TAG, "SMD transport layer or Rome chip"); tunedFreq = (buff[0] & 0xFF) | diff --git a/qcom/fmradio/FmReceiverJNI.java b/qcom/fmradio/FmReceiverJNI.java index d8743e8..1cafe37 100644 --- a/qcom/fmradio/FmReceiverJNI.java +++ b/qcom/fmradio/FmReceiverJNI.java @@ -48,10 +48,10 @@ class FmReceiverJNI { * @return The file descriptor of the device * */ - private static final String TAG = "FmReceiverJNI"; + private static final String TAG = "FmReceiverJNI"; static { - Log.e(TAG, "classinit native called"); + Log.d(TAG, "classinit native called"); classInitNative(); } static native void classInitNative(); @@ -63,9 +63,9 @@ class FmReceiverJNI { static private byte[] mRdsBuffer = new byte[STD_BUF_SIZE]; public static byte[] getPsBuffer(byte[] buff) { - Log.e(TAG, "getPsBuffer enter"); + Log.d(TAG, "getPsBuffer enter"); buff = Arrays.copyOf(mRdsBuffer, mRdsBuffer.length); - Log.e(TAG, "getPsBuffer exit"); + Log.d(TAG, "getPsBuffer exit"); return buff; } @@ -81,40 +81,40 @@ class FmReceiverJNI { } public void RtPlusCallback(byte[] rtplus) { - Log.e(TAG, "RtPlusCallback enter " ); + Log.d(TAG, "RtPlusCallback enter " ); if (rtplus == null) { Log.e(TAG, "psInfo null return "); return; } mRdsBuffer = Arrays.copyOf(rtplus, rtplus.length); FmReceiver.mCallback.FmRxEvRTPlus(); - Log.e(TAG, "RtPlusCallback exit " ); + Log.d(TAG, "RtPlusCallback exit " ); } public void RtCallback(byte[] rt) { - Log.e(TAG, "RtCallback enter " ); + Log.d(TAG, "RtCallback enter " ); if (rt == null) { Log.e(TAG, "psInfo null return "); return; } mRdsBuffer = Arrays.copyOf(rt, rt.length); FmReceiver.mCallback.FmRxEvRdsRtInfo(); - Log.e(TAG, "RtCallback exit " ); + Log.d(TAG, "RtCallback exit " ); } public void ErtCallback(byte[] ert) { - Log.e(TAG, "ErtCallback enter " ); + Log.d(TAG, "ErtCallback enter " ); if (ert == null) { Log.e(TAG, "ERT null return "); return; } mRdsBuffer = Arrays.copyOf(ert, ert.length); FmReceiver.mCallback.FmRxEvERTInfo(); - Log.e(TAG, "RtCallback exit " ); + Log.d(TAG, "RtCallback exit " ); } public void PsInfoCallback(byte[] psInfo) { - Log.e(TAG, "PsInfoCallback enter " ); + Log.d(TAG, "PsInfoCallback enter " ); if (psInfo == null) { Log.e(TAG, "psInfo null return "); return; @@ -122,21 +122,21 @@ class FmReceiverJNI { Log.e(TAG, "length = " +psInfo.length); mRdsBuffer = Arrays.copyOf(psInfo, psInfo.length); FmReceiver.mCallback.FmRxEvRdsPsInfo(); - Log.e(TAG, "PsInfoCallback exit"); + Log.d(TAG, "PsInfoCallback exit"); } public void enableCallback() { - Log.e(TAG, "enableCallback enter"); + Log.d(TAG, "enableCallback enter"); FmTransceiver.setFMPowerState(FmTransceiver.FMState_Rx_Turned_On); Log.v(TAG, "RxEvtList: CURRENT-STATE : FMRxStarting ---> NEW-STATE : FMRxOn"); FmReceiver.mCallback.FmRxEvEnableReceiver(); - Log.e(TAG, "enableCallback exit"); + Log.d(TAG, "enableCallback exit"); } public void tuneCallback(int freq) { int state; - Log.e(TAG, "tuneCallback enter"); + Log.d(TAG, "tuneCallback enter"); state = FmReceiver.getSearchState(); switch(state) { case FmTransceiver.subSrchLevel_SrchAbort: @@ -156,13 +156,13 @@ class FmReceiverJNI { Log.e(TAG, "get frequency command failed"); break; } - Log.e(TAG, "tuneCallback exit"); + Log.d(TAG, "tuneCallback exit"); } public void seekCmplCallback(int freq) { int state; - Log.e(TAG, "seekCmplCallback enter"); + Log.d(TAG, "seekCmplCallback enter"); state = FmReceiver.getSearchState(); switch(state) { case FmTransceiver.subSrchLevel_ScanInProg: @@ -179,29 +179,29 @@ class FmReceiverJNI { FmReceiver.mCallback.FmRxEvSearchComplete(freq); break; } - Log.e(TAG, "seekCmplCallback exit"); + Log.d(TAG, "seekCmplCallback exit"); } public void scanNxtCallback() { - Log.e(TAG, "scanNxtCallback enter"); + Log.d(TAG, "scanNxtCallback enter"); FmReceiver.mCallback.FmRxEvSearchInProgress(); - Log.e(TAG, "scanNxtCallback exit"); + Log.d(TAG, "scanNxtCallback exit"); } public void stereostsCallback(boolean stereo) { - Log.e(TAG, "stereostsCallback enter"); + Log.d(TAG, "stereostsCallback enter"); FmReceiver.mCallback.FmRxEvStereoStatus (stereo); - Log.e(TAG, "stereostsCallback exit"); + Log.d(TAG, "stereostsCallback exit"); } public void rdsAvlStsCallback(boolean rdsAvl) { - Log.e(TAG, "rdsAvlStsCallback enter"); + Log.d(TAG, "rdsAvlStsCallback enter"); FmReceiver.mCallback.FmRxEvRdsLockStatus(rdsAvl); - Log.e(TAG, "rdsAvlStsCallback exit"); + Log.d(TAG, "rdsAvlStsCallback exit"); } public void disableCallback() { - Log.e(TAG, "disableCallback enter"); + Log.d(TAG, "disableCallback enter"); if (FmTransceiver.getFMPowerState() == FmTransceiver.subPwrLevel_FMTurning_Off) { /*Set the state as FMOff */ FmTransceiver.setFMPowerState(FmTransceiver.FMState_Turned_Off); @@ -212,7 +212,7 @@ class FmReceiverJNI { Log.d(TAG, "Unexpected RADIO_DISABLED recvd"); Log.v(TAG, "RxEvtList: CURRENT-STATE : FMRxOn ---> NEW-STATE : FMOff"); FmReceiver.mCallback.FmRxEvRadioReset(); - Log.e(TAG, "disableCallback exit"); + Log.d(TAG, "disableCallback exit"); } } @@ -220,7 +220,7 @@ class FmReceiverJNI { mCallback = callback; if (mCallback == null) Log.e(TAG, "mCallback is null in JNI"); - Log.e(TAG, "satish init native called"); + Log.d(TAG, "init native called"); initNative(); } diff --git a/qcom/fmradio/FmTransceiver.java b/qcom/fmradio/FmTransceiver.java index a567152..b90f033 100644 --- a/qcom/fmradio/FmTransceiver.java +++ b/qcom/fmradio/FmTransceiver.java @@ -404,10 +404,13 @@ public class FmTransceiver boolean status; int ret; - //Acquire the deviceon Enable -// if( !acquire("/dev/radio0")){ -// return false; -// } + + if (!FmReceiver.isCherokeeChip()) { + //Acquire the deviceon Enable + if (!acquire("/dev/radio0")) { + return false; + } + } if (new File("/etc/fm/SpurTableFile.txt").isFile()) { Log.d(TAG, "Send Spur roation table"); FmConfig.fmSpurConfig(sFd); -- GitLab