ltq-vdsl-mei: update mei driver to version 1.5.17.6

Signed-off-by: Hauke Mehrtens <hauke.mehrtens@intel.com>
This commit is contained in:
Hauke Mehrtens 2016-08-27 00:06:21 +02:00 committed by Hauke Mehrtens
parent 909ed82b10
commit 3a4db8548f
4 changed files with 87 additions and 51 deletions

View file

@ -1,5 +1,5 @@
# Copyright (C) 2012 OpenWrt.org # Copyright (C) 2012 OpenWrt.org
# Copyright (C) 2015 Lantiq Beteiligungs GmbH & Co KG. # Copyright (C) 2015-2016 Lantiq Beteiligungs GmbH & Co KG.
# #
# This is free software, licensed under the GNU General Public License v2. # This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information. # See /LICENSE for more information.
@ -8,14 +8,14 @@ include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=ltq-vdsl-vr9-mei PKG_NAME:=ltq-vdsl-vr9-mei
PKG_VERSION:=1.4.8.5 PKG_VERSION:=1.5.17.6
PKG_RELEASE:=1 PKG_RELEASE:=1
PKG_BASE_NAME:=drv_mei_cpe PKG_BASE_NAME:=drv_mei_cpe
PKG_SOURCE:=$(PKG_BASE_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE:=$(PKG_BASE_NAME)-$(PKG_VERSION).tar.gz
PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_BASE_NAME)-$(PKG_VERSION) PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_BASE_NAME)-$(PKG_VERSION)
PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
PKG_MD5SUM:=78bf61dbc3421123c6716b874a930759 PKG_MD5SUM:=05179cec47b51dbb66024e8a993b6e0a
PKG_FIXUP:=autoreconf PKG_FIXUP:=autoreconf
PKG_FLAGS:=nonshared PKG_FLAGS:=nonshared
PKG_MAINTAINER:=John Crispin <john@phrozen.org> PKG_MAINTAINER:=John Crispin <john@phrozen.org>

View file

@ -1,6 +1,6 @@
--- a/src/drv_mei_cpe_api.h --- a/src/drv_mei_cpe_api.h
+++ b/src/drv_mei_cpe_api.h +++ b/src/drv_mei_cpe_api.h
@@ -937,7 +937,7 @@ typedef struct MEI_dev_s @@ -1000,7 +1000,7 @@ typedef struct MEI_dev_s
#if ( defined(MEI_DRVOS_HAVE_DRV_SELECT) && (MEI_DRVOS_HAVE_DRV_SELECT == 1) ) #if ( defined(MEI_DRVOS_HAVE_DRV_SELECT) && (MEI_DRVOS_HAVE_DRV_SELECT == 1) )
/** support for select() */ /** support for select() */
IFX_boolean_t bNfcNeedWakeUp; IFX_boolean_t bNfcNeedWakeUp;
@ -11,12 +11,12 @@
/** list of all open instances which can receive NFC's, EVT's ALM's */ /** list of all open instances which can receive NFC's, EVT's ALM's */
--- a/src/drv_mei_cpe_linux.c --- a/src/drv_mei_cpe_linux.c
+++ b/src/drv_mei_cpe_linux.c +++ b/src/drv_mei_cpe_linux.c
@@ -1220,9 +1220,9 @@ static unsigned int MEI_Poll (struct fil @@ -1302,9 +1302,9 @@ static unsigned int MEI_Poll (struct fil
} }
MEI_DRVOS_SelectQueueAddTask( MEI_DRVOS_SelectQueueAddTask(
- (MEI_DRVOS_select_OSArg_t*) filp, - (MEI_DRVOS_select_OSArg_t*) filp,
- (MEI_DRVOS_event_t*) &(pMeiDev->selNfcWakeupList), - (MEI_DRVOS_selectQueue_t*) &(pMeiDev->selNfcWakeupList),
- (MEI_DRVOS_selectTable_t*) wait); - (MEI_DRVOS_selectTable_t*) wait);
+ filp, + filp,
+ &(pMeiDev->selNfcWakeupList), + &(pMeiDev->selNfcWakeupList),
@ -24,14 +24,3 @@
if (pDynNfc->pRecvDataCntrl[pDynNfc->rdIdxRd].bufCtrl != MEI_RECV_BUF_CTRL_FREE) /* buffer in use */ if (pDynNfc->pRecvDataCntrl[pDynNfc->rdIdxRd].bufCtrl != MEI_RECV_BUF_CTRL_FREE) /* buffer in use */
{ {
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -201,7 +201,7 @@ else
drv_mei_cpe_common_cflags = \
$(AM_CFLAGS) -D__KERNEL__ -DLINUX -D__linux__ -DMODULE -DEXPORT_SYMTAB \
- -pipe -Wno-format -Wimplicit -Wunused -Wuninitialized -Wsign-compare -Wstrict-aliasing
+ -pipe -Wall -Wimplicit -Wunused -Wuninitialized -Wstrict-aliasing
endif

View file

@ -10,7 +10,7 @@
--- a/src/drv_mei_cpe_linux.h --- a/src/drv_mei_cpe_linux.h
+++ b/src/drv_mei_cpe_linux.h +++ b/src/drv_mei_cpe_linux.h
@@ -51,12 +51,6 @@ @@ -57,12 +57,6 @@
#include <linux/poll.h> #include <linux/poll.h>
#include <linux/types.h> #include <linux/types.h>
@ -22,10 +22,10 @@
- -
#endif /* #if (MEI_DRV_IFXOS_ENABLE == 0)*/ #endif /* #if (MEI_DRV_IFXOS_ENABLE == 0)*/
/* ============================================================================ #include <linux/dma-mapping.h>
--- a/src/drv_mei_cpe_linux.c --- a/src/drv_mei_cpe_linux.c
+++ b/src/drv_mei_cpe_linux.c +++ b/src/drv_mei_cpe_linux.c
@@ -98,6 +98,8 @@ @@ -114,6 +114,8 @@
#include "drv_mei_cpe_api_atm_ptm_intern.h" #include "drv_mei_cpe_api_atm_ptm_intern.h"
@ -34,7 +34,7 @@
/* =================================== /* ===================================
extern function declarations extern function declarations
=================================== */ =================================== */
@@ -196,6 +198,8 @@ static void MEI_MemVAllocTest(); @@ -220,6 +222,8 @@ static void MEI_NlSendMsg(IFX_char_t* pM
/* Local variables (LINUX) */ /* Local variables (LINUX) */
/* =================================== */ /* =================================== */
static IFX_uint8_t major_number = 0; static IFX_uint8_t major_number = 0;
@ -43,17 +43,19 @@
#ifdef MODULE #ifdef MODULE
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)) #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0))
MODULE_PARM(major_number, "b"); MODULE_PARM(major_number, "b");
@@ -1798,7 +1802,9 @@ static int __init MEI_module_init (void) @@ -2174,9 +2178,11 @@ static int MEI_module_init (void)
return (result); return (result);
} }
+#if 0 +#if 0
ppa_callback_set(LTQ_MEI_SHOWTIME_CHECK, (void *)ltq_mei_atm_showtime_check); #if (MEI_DRV_ATM_PTM_INTERFACE_ENABLE == 1)
ppa_callback_set(LTQ_MEI_SHOWTIME_CHECK, (void *)ltq_mei_showtime_check);
#endif /* #if (MEI_DRV_ATM_PTM_INTERFACE_ENABLE == 1) */
+#endif +#endif
return 0; return 0;
} }
@@ -1922,6 +1928,10 @@ static void MEI_module_exit (void) @@ -2304,6 +2310,10 @@ static void MEI_module_exit (void)
#else #else
unregister_chrdev ( major_number , DRV_MEI_NAME ); unregister_chrdev ( major_number , DRV_MEI_NAME );
@ -64,17 +66,19 @@
#endif #endif
#if CONFIG_PROC_FS #if CONFIG_PROC_FS
@@ -1978,7 +1988,9 @@ static void MEI_module_exit (void) @@ -2388,9 +2398,11 @@ static void MEI_module_exit (void)
("MEI_DRV: Chipset Basic Exit failed" MEI_DRV_CRLF)); ("MEI_DRV: Chipset Basic Exit failed" MEI_DRV_CRLF));
} }
+#if 0 +#if 0
#if (MEI_DRV_ATM_PTM_INTERFACE_ENABLE == 1)
ppa_callback_set(LTQ_MEI_SHOWTIME_CHECK, (void *)NULL); ppa_callback_set(LTQ_MEI_SHOWTIME_CHECK, (void *)NULL);
#endif /* #if (MEI_DRV_ATM_PTM_INTERFACE_ENABLE == 1) */
+#endif +#endif
/* touch one time this variable to avoid that the linker will remove it */ #if (MEI_SUPPORT_DEBUG_LOGGER == 1)
debug_level = MEI_DRV_PRN_LEVEL_OFF; if (nl_debug_sock)
@@ -2095,6 +2107,10 @@ static int MEI_InitModuleRegCharDev(cons @@ -2514,6 +2526,10 @@ static int MEI_InitModuleRegCharDev(cons
("Using major number %d" MEI_DRV_CRLF, major_number)); ("Using major number %d" MEI_DRV_CRLF, major_number));
} }
@ -85,7 +89,7 @@
return 0; return 0;
#endif /* CONFIG_DEVFS_FS */ #endif /* CONFIG_DEVFS_FS */
} }
@@ -2135,21 +2151,32 @@ static int MEI_InitModuleBasics(void) @@ -2563,21 +2579,32 @@ static int MEI_InitModuleBasics(void)
} }
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)) #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0))
@ -118,7 +122,7 @@
return 0; return 0;
} }
@@ -2469,11 +2496,15 @@ IFX_int32_t MEI_IoctlInitDevice( @@ -2905,11 +2932,15 @@ IFX_int32_t MEI_IoctlInitDevice(
pMeiDev->eModePoll = e_MEI_DEV_ACCESS_MODE_IRQ; pMeiDev->eModePoll = e_MEI_DEV_ACCESS_MODE_IRQ;
pMeiDev->intMask = ME_ARC2ME_INTERRUPT_UNMASK_ALL; pMeiDev->intMask = ME_ARC2ME_INTERRUPT_UNMASK_ALL;
@ -136,7 +140,23 @@
MEI_DRV_LINENUM_GET(pMeiDev), MEI_DRV_LINENUM_GET(pMeiDev),
--- a/src/drv_mei_cpe_api_atm_ptm_intern.c --- a/src/drv_mei_cpe_api_atm_ptm_intern.c
+++ b/src/drv_mei_cpe_api_atm_ptm_intern.c +++ b/src/drv_mei_cpe_api_atm_ptm_intern.c
@@ -193,6 +193,51 @@ int ifx_mei_atm_led_blink(void) @@ -147,6 +147,7 @@ IFX_int32_t MEI_InternalXtmSwhowtimeExit
return retVal;
}
+#if 0
IFX_int32_t MEI_InternalTcRequest(
MEI_DYN_CNTRL_T *pMeiDynCntrl,
MEI_TC_Request_t *pArgTcRequest)
@@ -232,6 +233,7 @@ IFX_int32_t MEI_InternalTcReset(
return retVal;
}
+#endif
/**
Function that is used by the PP subsystem to get some showtime relevant data
@@ -311,10 +313,57 @@ int ifx_mei_atm_led_blink(void)
return IFX_SUCCESS; return IFX_SUCCESS;
} }
@ -177,7 +197,7 @@
+int ifx_mei_atm_showtime_check(int *is_showtime, +int ifx_mei_atm_showtime_check(int *is_showtime,
+ struct port_cell_info *port_cell, + struct port_cell_info *port_cell,
+ void **xdata_addr) { + void **xdata_addr) {
+ return ltq_mei_atm_showtime_check(0, is_showtime, port_cell, xdata_addr); + return ltq_mei_showtime_check(0, is_showtime, port_cell, xdata_addr);
+} +}
+ +
+EXPORT_SYMBOL(ifx_mei_atm_showtime_enter); +EXPORT_SYMBOL(ifx_mei_atm_showtime_enter);
@ -187,7 +207,13 @@
+ +
EXPORT_SYMBOL (MEI_InternalXtmSwhowtimeEntrySignal); EXPORT_SYMBOL (MEI_InternalXtmSwhowtimeEntrySignal);
EXPORT_SYMBOL (MEI_InternalXtmSwhowtimeExitSignal); EXPORT_SYMBOL (MEI_InternalXtmSwhowtimeExitSignal);
+#if 0
EXPORT_SYMBOL (MEI_InternalTcRequest);
EXPORT_SYMBOL (MEI_InternalTcReset);
+#endif
EXPORT_SYMBOL(ifx_mei_atm_led_blink); EXPORT_SYMBOL(ifx_mei_atm_led_blink);
#endif /* #if (MEI_EXPORT_INTERNAL_API == 1) && (MEI_DRV_ATM_PTM_INTERFACE_ENABLE == 1) */
--- a/src/drv_mei_cpe_api_atm_ptm_intern.h --- a/src/drv_mei_cpe_api_atm_ptm_intern.h
+++ b/src/drv_mei_cpe_api_atm_ptm_intern.h +++ b/src/drv_mei_cpe_api_atm_ptm_intern.h
@@ -21,7 +21,6 @@ @@ -21,7 +21,6 @@
@ -198,9 +224,9 @@
#if (MEI_EXPORT_INTERNAL_API == 1) && (MEI_DRV_ATM_PTM_INTERFACE_ENABLE == 1) #if (MEI_EXPORT_INTERNAL_API == 1) && (MEI_DRV_ATM_PTM_INTERFACE_ENABLE == 1)
@@ -42,8 +41,21 @@ extern IFX_int32_t MEI_InternalXtmSwhowt @@ -59,8 +58,21 @@ extern IFX_int32_t MEI_InternalTcReset(
MEI_DYN_CNTRL_T *pMeiDynCntrl, MEI_DYN_CNTRL_T *pMeiDynCntrl,
MEI_XTM_ShowtimeExit_t *pArgXtm); MEI_TC_Reset_t *pArgTcReset);
+#if 1 +#if 1
+#include <lantiq_atm.h> +#include <lantiq_atm.h>
@ -218,25 +244,29 @@
extern void* ppa_callback_get(e_ltq_mei_cb_type type); extern void* ppa_callback_get(e_ltq_mei_cb_type type);
+#endif +#endif
int ltq_mei_atm_showtime_check ( int ltq_mei_showtime_check(
const unsigned char line_idx, const unsigned char line_idx,
--- a/src/drv_mei_cpe_device_vrx.c --- a/src/drv_mei_cpe_device_vrx.c
+++ b/src/drv_mei_cpe_device_vrx.c +++ b/src/drv_mei_cpe_device_vrx.c
@@ -28,13 +28,6 @@ @@ -28,17 +28,6 @@
#include "drv_mei_cpe_api.h" #include "drv_mei_cpe_api.h"
#include "drv_mei_cpe_mei_vrx.h" #include "drv_mei_cpe_mei_vrx.h"
-#if defined(LINUX) -#if defined(LINUX)
-# if (LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)) -# if (LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0))
-# if (MEI_SUPPORT_DEVICE_VR10_320 != 1)
-# include "ifx_pcie.h" -# include "ifx_pcie.h"
-# else -# else
-# include "../drivers/net/ethernet/lantiq/lantiq_pcie.h"
-# endif
-# else
-# include "lantiq_pcie.h" -# include "lantiq_pcie.h"
-# endif -# endif
-#endif /* #if defined(LINUX)*/ -#endif /* #if defined(LINUX)*/
IFX_int32_t MEI_GPIntProcess(MEI_MeiRegVal_t processInt, MEI_DEV_T *pMeiDev) IFX_int32_t MEI_GPIntProcess(MEI_MeiRegVal_t processInt, MEI_DEV_T *pMeiDev)
{ {
@@ -82,6 +75,7 @@ IFX_int32_t MEI_GetChipInfo(MEI_DEV_T *p @@ -86,6 +75,7 @@ IFX_int32_t MEI_GetChipInfo(MEI_DEV_T *p
*/ */
IFX_int32_t MEI_VR10_PcieEntitiesCheck(IFX_uint8_t nEntityNum) IFX_int32_t MEI_VR10_PcieEntitiesCheck(IFX_uint8_t nEntityNum)
{ {
@ -244,7 +274,7 @@
IFX_uint32_t pcie_entitiesNum; IFX_uint32_t pcie_entitiesNum;
/* get information from pcie driver */ /* get information from pcie driver */
@@ -102,6 +96,9 @@ IFX_int32_t MEI_VR10_PcieEntitiesCheck(I @@ -110,6 +100,9 @@ IFX_int32_t MEI_VR10_PcieEntitiesCheck(I
} }
return IFX_SUCCESS; return IFX_SUCCESS;
@ -254,16 +284,16 @@
} }
/** /**
@@ -116,6 +113,7 @@ IFX_int32_t MEI_VR10_PcieEntitiesCheck(I @@ -124,6 +117,7 @@ IFX_int32_t MEI_VR10_PcieEntitiesCheck(I
*/ */
IFX_int32_t MEI_VR10_PcieEntityInit(MEI_MEI_DRV_CNTRL_T *pMeiDrvCntrl) IFX_int32_t MEI_VR10_PcieEntityInit(MEI_MEI_DRV_CNTRL_T *pMeiDrvCntrl)
{ {
+#if 0 +#if 0
IFX_uint8_t entityNum; IFX_uint8_t entityNum;
#if (MEI_SUPPORT_DEVICE_VR10_320 != 1)
ifx_pcie_ep_dev_t MEI_pcie_ep_dev; ifx_pcie_ep_dev_t MEI_pcie_ep_dev;
@@ -156,6 +150,9 @@ IFX_int32_t MEI_VR10_PcieEntityInit(MEI_
@@ -138,6 +136,9 @@ IFX_int32_t MEI_VR10_PcieEntityInit(MEI_ pMeiDrvCntrl->MEI_pcie_irq = 99;
pMeiDrvCntrl->MEI_pcie_irq = MEI_pcie_ep_dev.irq;
return IFX_SUCCESS; return IFX_SUCCESS;
+#else +#else
@ -272,15 +302,15 @@
} }
/** /**
@@ -152,6 +153,7 @@ IFX_int32_t MEI_VR10_PcieEntityInit(MEI_ @@ -170,6 +167,7 @@ IFX_int32_t MEI_VR10_PcieEntityInit(MEI_
*/ */
IFX_int32_t MEI_VR10_PcieEntityFree(IFX_uint8_t entityNum) IFX_int32_t MEI_VR10_PcieEntityFree(IFX_uint8_t entityNum)
{ {
+#if 0 +#if 0
#if (MEI_SUPPORT_DEVICE_VR10_320 != 1)
if (ifx_pcie_ep_dev_info_release(entityNum)) if (ifx_pcie_ep_dev_info_release(entityNum))
{ #else
PRN_ERR_USR_NL( MEI_DRV, MEI_DRV_PRN_LEVEL_ERR, @@ -183,6 +181,9 @@ IFX_int32_t MEI_VR10_PcieEntityFree(IFX_
@@ -161,6 +163,9 @@ IFX_int32_t MEI_VR10_PcieEntityFree(IFX_
} }
return IFX_SUCCESS; return IFX_SUCCESS;
@ -290,7 +320,7 @@
} }
/** /**
@@ -175,6 +180,7 @@ IFX_int32_t MEI_VR10_PcieEntityFree(IFX_ @@ -197,6 +198,7 @@ IFX_int32_t MEI_VR10_PcieEntityFree(IFX_
*/ */
IFX_int32_t MEI_VR10_InternalInitDevice(MEI_DYN_CNTRL_T *pMeiDynCntrl) IFX_int32_t MEI_VR10_InternalInitDevice(MEI_DYN_CNTRL_T *pMeiDynCntrl)
{ {
@ -298,7 +328,7 @@
IFX_int32_t retVal; IFX_int32_t retVal;
IOCTL_MEI_devInit_t InitDev; IOCTL_MEI_devInit_t InitDev;
MEI_DEV_T *pMeiDev = pMeiDynCntrl->pMeiDev; MEI_DEV_T *pMeiDev = pMeiDynCntrl->pMeiDev;
@@ -199,6 +205,9 @@ IFX_int32_t MEI_VR10_InternalInitDevice( @@ -221,6 +223,9 @@ IFX_int32_t MEI_VR10_InternalInitDevice(
*MEI_GPIO_U32REG(GPIO_P0_ALSEL1) &= ~((1 << 0) | (1 << 3) | (1 << 8)); *MEI_GPIO_U32REG(GPIO_P0_ALSEL1) &= ~((1 << 0) | (1 << 3) | (1 << 8));
return IFX_SUCCESS; return IFX_SUCCESS;
@ -310,7 +340,7 @@
IFX_int32_t MEI_PLL_ConfigInit(MEI_DEV_T *pMeiDev) IFX_int32_t MEI_PLL_ConfigInit(MEI_DEV_T *pMeiDev)
--- a/src/drv_mei_cpe_dsm.c --- a/src/drv_mei_cpe_dsm.c
+++ b/src/drv_mei_cpe_dsm.c +++ b/src/drv_mei_cpe_dsm.c
@@ -138,7 +138,7 @@ IFX_void_t MEI_VRX_DSM_DataInit(MEI_DEV_ @@ -144,7 +144,7 @@ IFX_void_t MEI_VRX_DSM_DataInit(MEI_DEV_
memset((IFX_uint8_t *)&pMeiDev->firmwareFeatures, 0x00, sizeof(IOCTL_MEI_firmwareFeatures_t)); memset((IFX_uint8_t *)&pMeiDev->firmwareFeatures, 0x00, sizeof(IOCTL_MEI_firmwareFeatures_t));
pMeiDev->meiFwDlCount = 0; pMeiDev->meiFwDlCount = 0;
@ -319,3 +349,20 @@
PRN_DBG_USR_NL( MEI_DRV, MEI_DRV_PRN_LEVEL_NORMAL, PRN_DBG_USR_NL( MEI_DRV, MEI_DRV_PRN_LEVEL_NORMAL,
("MEI_DRV: PP callback function addr = 0x%08X" MEI_DRV_CRLF, ("MEI_DRV: PP callback function addr = 0x%08X" MEI_DRV_CRLF,
--- a/src/drv_mei_cpe_download_vrx.c
+++ b/src/drv_mei_cpe_download_vrx.c
@@ -3281,12 +3281,14 @@ IFX_int32_t MEI_DEV_IoctlFirmwareDownloa
/* reset TC layer */
if (ret == 0)
{
+#if 0
if (MEI_InternalTcReset(pMeiDynCntrl, &tc_reset) != 0)
{
PRN_ERR_USR_NL( MEI_DRV, MEI_DRV_PRN_LEVEL_WRN,
("MEI_DRV[%02d]: Could not perform reset of TC-Layer!"
MEI_DRV_CRLF, MEI_DRV_LINENUM_GET(pMeiDev)));
}
+#endif
}
#endif

View file

@ -1,6 +1,6 @@
--- a/src/drv_mei_cpe_linux.c --- a/src/drv_mei_cpe_linux.c
+++ b/src/drv_mei_cpe_linux.c +++ b/src/drv_mei_cpe_linux.c
@@ -1417,8 +1417,8 @@ struct proc_entry { @@ -1499,8 +1499,8 @@ struct proc_entry {
static void MEI_GetVersionProc(struct seq_file *s) static void MEI_GetVersionProc(struct seq_file *s)
{ {
seq_printf(s, "%s" MEI_DRV_CRLF, &MEI_WHATVERSION[4]); seq_printf(s, "%s" MEI_DRV_CRLF, &MEI_WHATVERSION[4]);