Le dimanche 14 mars 2010 03:58:20, Ithamar R. Adema a écrit : > This patch adds an option to menuconfig for ifxmips-dsl-api to > enable/disable the debug output. By default the debug output is switched > off. > > Signed-off-by: Ithamar R. Adema <[email protected]> > --- > package/ifxmips-dsl-api/Config.in | 5 + > package/ifxmips-dsl-api/Makefile | 9 +- > .../ifxmips-dsl-api/patches/400-debug-output.patch | 287 > ++++++++++++++++++++ 3 files changed, 299 insertions(+), 2 deletions(-) > create mode 100644 package/ifxmips-dsl-api/patches/400-debug-output.patch > > diff --git a/package/ifxmips-dsl-api/Config.in > b/package/ifxmips-dsl-api/Config.in index a1c3cd4..277d96e 100644 > --- a/package/ifxmips-dsl-api/Config.in > +++ b/package/ifxmips-dsl-api/Config.in > @@ -16,3 +16,8 @@ config IFXMIPS_ANNEX_B > Annex-B > > endchoice > + > +config IFXMIPS_DSL_DEBUG > + bool "ifxmips-dsl debugging" > + help > + Say Y, if you need ifxmips-dsl to display debug messages. > diff --git a/package/ifxmips-dsl-api/Makefile > b/package/ifxmips-dsl-api/Makefile index 992c241..fdb0721 100644 > --- a/package/ifxmips-dsl-api/Makefile > +++ b/package/ifxmips-dsl-api/Makefile > @@ -81,8 +81,6 @@ CONFIGURE_ARGS += > --enable-kernel-include="$(LINUX_DIR)/include" \ > --with-channels-per-line="$(IFX_DSL_CHANNELS_PER_LINE)" \ > --enable-danube \ > --enable-add-drv-cflags="-DMODULE" \ > - --enable-debug=yes \ > - --enable-debug-prints=yes \ > --disable-dsl-delt-static \ > --disable-adsl-led \ > --enable-dsl-ceoc \ > @@ -103,6 +101,13 @@ CONFIGURE_ARGS += > --enable-kernel-include="$(LINUX_DIR)/include" \ > > EXTRA_CFLAGS = -fno-pic -mno-abicalls -mlong-calls -G 0 > > +ifeq ($(CONFIG_IFXMIPS_DSL_DEBUG),y) > +CONFIGURE_ARGS += \ > + --enable-debug=yes \ > + --enable-debug-prints=yes > +EXTRA_CFLAGS += -DDEBUG > +endif > + > define Build/Prepare > $(PKG_UNPACK) > $(INSTALL_DIR) $(PKG_BUILD_DIR)/src/mei/ > diff --git a/package/ifxmips-dsl-api/patches/400-debug-output.patch > b/package/ifxmips-dsl-api/patches/400-debug-output.patch new file mode > 100644 > index 0000000..d3b05b1 > --- /dev/null > +++ b/package/ifxmips-dsl-api/patches/400-debug-output.patch > @@ -0,0 +1,287 @@ > +--- drv_dsl_cpe_api-3.24.4.4.orig/src/mei/ifxmips_mei.c 2010-03-14 > 02:59:49.000000000 +0100 ++++ > drv_dsl_cpe_api-3.24.4.4/src/mei//ifxmips_mei.c 2010-03-14 > 03:02:13.000000000 +0100 +@@ -78,8 +78,8 @@ > + #define ifxmips_w32(val, reg) __raw_writel(val, reg) > + #define ifxmips_w32_mask(clear, set, reg) > ifxmips_w32((ifxmips_r32(reg) & ~clear) | set, reg) + */ > +-#define IFX_MEI_EMSG(fmt, args...) printk(KERN_ERR "[%s %d]: " > fmt,__FUNCTION__, __LINE__, ## args) +-#define IFX_MEI_DMSG(fmt, args...) > printk(KERN_INFO "[%s %d]: " fmt,__FUNCTION__, __LINE__, ## args) > ++#define IFX_MEI_EMSG(fmt, args...) pr_err("[%s %d]: " fmt,__FUNCTION__, > __LINE__, ## args) ++#define IFX_MEI_DMSG(fmt, args...) pr_debug("[%s %d]: > " fmt,__FUNCTION__, __LINE__, ## args) + > + #ifdef CONFIG_IFXMIPS_MEI_FW_LOOPBACK > + //#define DFE_MEM_TEST > +@@ -1300,7 +1300,7 @@ IFX_MEI_RunAdslModem (DSL_DEV_Device_t * > + IFX_MEI_EMSG (">>> malloc fail for codeswap buff!!! > <<<\n"); > + return DSL_DEV_MEI_ERR_FAILURE; > + } > +- printk("allocate %dKB swap buff memory at: 0x%p\n", > ksize(mei_arc_swap_buff)/1024, mei_arc_swap_buff); ++ > IFX_MEI_DMSG("allocate %dKB swap buff memory at: 0x%p\n", > ksize(mei_arc_swap_buff)/1024, mei_arc_swap_buff); + } > + > + DSL_DEV_PRIVATE(pDev)->img_hdr = > +@@ -1475,7 +1475,7 @@ IFX_MEI_DFEMemoryFree (DSL_DEV_Device_t > + } > + > + if(mei_arc_swap_buff != NULL){ > +- printk("free %dKB swap buff memory at: 0x%p\n", > ksize(mei_arc_swap_buff)/1024, mei_arc_swap_buff); ++ > IFX_MEI_DMSG("free %dKB swap buff memory at: 0x%p\n", > ksize(mei_arc_swap_buff)/1024, mei_arc_swap_buff); + > kfree(mei_arc_swap_buff); > + mei_arc_swap_buff=NULL; > + } > +@@ -1495,7 +1495,7 @@ IFX_MEI_DFEMemoryAlloc (DSL_DEV_Device_t > + // DSL_DEV_PRIVATE(pDev)->adsl_mem_info; > + int allocate_size = SDRAM_SEGMENT_SIZE; > + > +- printk(KERN_INFO "[%s %d]: image_size = %ld\n", __func__, __LINE__, > size); ++ IFX_MEI_DMSG("image_size = %ld\n", size); > + // Alloc Swap Pages > + for (idx = 0; size > 0 && idx < MAX_BAR_REGISTERS; idx++) { > + // skip bar15 for XDATA usage. > +@@ -1595,7 +1595,7 @@ DSL_BSP_FWDownload (DSL_DEV_Device_t * p > + ssize_t retval = -ENOMEM; > + int idx = 0; > + > +- printk("\n%s\n", __func__); > ++ IFX_MEI_DMSG("\n"); > + > + if (*loff == 0) { > + if (size < sizeof (img_hdr_tmp)) { > +@@ -1647,7 +1647,7 @@ DSL_BSP_FWDownload (DSL_DEV_Device_t * p > + goto error; > + } > + adsl_mem_info[XDATA_REGISTER].type = FREE_RELOAD; > +- printk(KERN_INFO "[%s %d] -> IFX_MEI_BarUpdate()\n", __func__, > __LINE__); ++ IFX_MEI_DMSG("-> IFX_MEI_BarUpdate()\n"); > + IFX_MEI_BarUpdate (pDev, (DSL_DEV_PRIVATE(pDev)->nBar)); > + } > + else if (DSL_DEV_PRIVATE(pDev)-> image_size == 0) { > +@@ -1926,7 +1926,7 @@ static void > + WriteMbox (u32 * mboxarray, u32 size) > + { > + IFX_MEI_DebugWrite (&dsl_devices[0], IMBOX_BASE, mboxarray, size); > +- printk ("write to %X\n", IMBOX_BASE); > ++ IFX_MEI_DMSG("write to %X\n", IMBOX_BASE); > + IFX_MEI_LongWordWriteOffset (&dsl_devices[0], (u32) ME_ME2ARC_INT, > MEI_TO_ARC_MSGAV); + } > + > +@@ -1935,7 +1935,7 @@ static void > + ReadMbox (u32 * mboxarray, u32 size) > + { > + IFX_MEI_DebugRead (&dsl_devices[0], OMBOX_BASE, mboxarray, size); > +- printk ("read from %X\n", OMBOX_BASE); > ++ IFX_MEI_DMSG("read from %X\n", OMBOX_BASE); > + } > + > + static void > +@@ -1965,7 +1965,7 @@ arc_code_page_download (uint32_t arc_cod > + { > + int count; > + > +- printk ("try to download pages,size=%d\n", arc_code_length); > ++ IFX_MEI_DMSG("try to download pages,size=%d\n", arc_code_length); > + IFX_MEI_ControlModeSet (&dsl_devices[0], MEI_MASTER_MODE); > + IFX_MEI_HaltArc (&dsl_devices[0]); > + IFX_MEI_LongWordWriteOffset (&dsl_devices[0], (u32) ME_DX_AD, 0); > +@@ -2004,21 +2004,21 @@ dfe_loopback_irq_handler (DSL_DEV_Device > + memset (&rd_mbox[0], 0, 10 * 4); > + ReadMbox (&rd_mbox[0], 6); > + if (rd_mbox[0] == 0x0) { > +- printk ("Get ARC_ACK\n"); > ++ FX_MEI_DMSG("Get ARC_ACK\n"); > + got_int = 1; > + } > + else if (rd_mbox[0] == 0x5) { > +- printk ("Get ARC_BUSY\n"); > ++ IFX_MEI_DMSG("Get ARC_BUSY\n"); > + got_int = 2; > + } > + else if (rd_mbox[0] == 0x3) { > +- printk ("Get ARC_EDONE\n"); > ++ IFX_MEI_DMSG("Get ARC_EDONE\n"); > + if (rd_mbox[1] == 0x0) { > + got_int = 3; > +- printk ("Get E_MEMTEST\n"); > ++ IFX_MEI_DMSG("Get E_MEMTEST\n"); > + if (rd_mbox[2] != 0x1) { > + got_int = 4; > +- printk ("Get Result %X\n", rd_mbox[2]); > ++ IFX_MEI_DMSG("Get Result %X\n", rd_mbox[2]); > + } > + } > + } > +@@ -2036,21 +2036,21 @@ wait_mem_test_result (void) > + uint32_t mbox[5]; > + mbox[0] = 0; > + > +- printk ("Waiting Starting\n"); > ++ IFX_MEI_DMSG("Waiting Starting\n"); > + while (mbox[0] == 0) { > + ReadMbox (&mbox[0], 5); > + } > +- printk ("Try to get mem test result.\n"); > ++ IFX_MEI_DMSG("Try to get mem test result.\n"); > + ReadMbox (&mbox[0], 5); > + if (mbox[0] == 0xA) { > +- printk ("Success.\n"); > ++ IFX_MEI_DMSG("Success.\n"); > + } > + else if (mbox[0] == 0xA) { > +- printk ("Fail,address %X,except data %X,receive data %X\n", > ++ IFX_MEI_EMSG("Fail,address %X,except data %X,receive data %X\n", > + mbox[1], mbox[2], mbox[3]); > + } > + else { > +- printk ("Fail\n"); > ++ IFX_MEI_EMSG("Fail\n"); > + } > + } > + > +@@ -2066,7 +2066,7 @@ arc_ping_testing (DSL_DEV_Device_t *pDev > + rd_mbox[i] = 0; > + } > + > +- printk ("send ping msg\n"); > ++ FX_MEI_DMSG("send ping msg\n"); > + wr_mbox[0] = MEI_PING; > + WriteMbox (&wr_mbox[0], 10); > + > +@@ -2074,7 +2074,7 @@ arc_ping_testing (DSL_DEV_Device_t *pDev > + MEI_WAIT (100); > + } > + > +- printk ("send start event\n"); > ++ IFX_MEI_DMSG("send start event\n"); > + got_int = 0; > + > + wr_mbox[0] = 0x4; > +@@ -2093,14 +2093,14 @@ arc_ping_testing (DSL_DEV_Device_t *pDev > + IFX_MEI_LongWordWriteOffset (&dsl_devices[0], > + (u32) ME_ME2ARC_INT, > + MEI_TO_ARC_MSGAV); > +- printk ("sleeping\n"); > ++ IFX_MEI_DMSG("sleeping\n"); > + while (1) { > + if (got_int > 0) { > + > + if (got_int > 3) > +- printk ("got_int >>>> 3\n"); > ++ IFX_MEI_DMSG("got_int >>>> 3\n"); > + else > +- printk ("got int = %d\n", got_int); > ++ IFX_MEI_DMSG("got int = %d\n", got_int); > + got_int = 0; > + //schedule(); > + DSL_ENABLE_IRQ (pDev->nIrq[IFX_DFEIR]); > +@@ -2151,7 +2151,7 @@ DFE_Loopback_Test (void) > + DSL_DEV_PRIVATE(pDev)->adsl_mem_info[idx].type = > FREE_RELOAD; > + IFX_MEI_WRITE_REGISTER_L ((((uint32_t) > DSL_DEV_PRIVATE(pDev)->adsl_mem_info[idx].address) & 0x0fffffff), + > IFXMIPS_MEI_BASE_ADDR + > ME_XMEM_BAR_BASE + idx * 4); > +- printk ("bar%d(%X)=%X\n", idx, > ++ IFX_MEI_DMSG("bar%d(%X)=%X\n", idx, > + IFXMIPS_MEI_BASE_ADDR + ME_XMEM_BAR_BASE + > + idx * 4, (((uint32_t) > + ((ifx_mei_device_private_t *) > +@@ -2168,20 +2168,20 @@ DFE_Loopback_Test (void) > + return DSL_DEV_MEI_ERR_FAILURE; > + } > + //WriteARCreg(AUX_IC_CTRL,2); > +- printk(KERN_INFO "[%s %s %d]: Setting MEI_MASTER_MODE..\n", __FILE__, > __func__, __LINE__); ++ IFX_MEI_DMSG("Setting MEI_MASTER_MODE..\n"); > + IFX_MEI_ControlModeSet (pDev, MEI_MASTER_MODE); > + #define AUX_IC_CTRL 0x11 > + _IFX_MEI_DBGLongWordWrite (pDev, MEI_DEBUG_DEC_AUX_MASK, > + AUX_IC_CTRL, 2); > +- printk(KERN_INFO "[%s %s %d]: Setting JTAG_MASTER_MODE..\n", __FILE__, > __func__, __LINE__); ++ IFX_MEI_DMSG("Setting JTAG_MASTER_MODE..\n"); > + IFX_MEI_ControlModeSet (pDev, JTAG_MASTER_MODE); > + > +- printk(KERN_INFO "[%s %s %d]: Halting ARC...\n", __FILE__, __func__, > __LINE__); ++ IFX_MEI_DMSG("Halting ARC...\n"); > + IFX_MEI_HaltArc (&dsl_devices[0]); > + > + #ifdef DFE_PING_TEST > + > +- printk ("ping test image size=%d\n", sizeof (arc_ahb_access_code)); > ++ IFX_MEI_DMSG("ping test image size=%d\n", sizeof (arc_ahb_access_code)); > + memcpy ((u8 *) (DSL_DEV_PRIVATE(pDev)-> > + adsl_mem_info[0].address + 0x1004), > + &arc_ahb_access_code[0], sizeof (arc_ahb_access_code)); > +@@ -2189,13 +2189,13 @@ DFE_Loopback_Test (void) > + > + #endif //DFE_PING_TEST > + > +- printk ("ARC ping test code download complete\n"); > ++ IFX_MEI_DMSG("ARC ping test code download complete\n"); > + #endif //defined( DFE_PING_TEST )|| defined( DFE_ATM_LOOPBACK) > + #ifdef DFE_MEM_TEST > + IFX_MEI_LongWordWriteOffset (&dsl_devices[0], (u32) ME_ARC2ME_MASK, > MSGAV_EN); + > + arc_code_page_download (1537, &code_array[0]); > +- printk ("ARC mem test code download complete\n"); > ++ IFX_MEI_DMSG("ARC mem test code download complete\n"); > + #endif //DFE_MEM_TEST > + #ifdef DFE_ATM_LOOPBACK > + arc_debug_data = 0xf; > +@@ -2214,7 +2214,7 @@ DFE_Loopback_Test (void) > + IFX_MEI_DebugWrite (&dsl_devices[0], 0x32010, &arc_debug_data, 1); > + #endif //DFE_ATM_LOOPBACK > + IFX_MEI_IRQEnable (pDev); > +- printk(KERN_INFO "[%s %s %d]: run ARC...\n", __FILE__, __func__, > __LINE__); ++ IFX_MEI_DMSG("run ARC...\n"); > + IFX_MEI_RunArc (&dsl_devices[0]); > + > + #ifdef DFE_PING_TEST > +@@ -2525,7 +2525,7 @@ IFX_MEI_Ioctls (DSL_DEV_Device_t * pDev, > + break; > + > + case DSL_FIO_BSP_DSL_START: > +- printk("\n%s: DSL_FIO_BSP_DSL_START\n",__func__); > ++ IFX_MEI_DMSG("DSL_FIO_BSP_DSL_START\n"); > + if ((meierr = IFX_MEI_RunAdslModem (pDev)) != > DSL_DEV_MEI_ERR_SUCCESS) > { + IFX_MEI_EMSG ("IFX_MEI_RunAdslModem() error..."); > + meierr = DSL_DEV_MEI_ERR_FAILURE; > +@@ -2926,11 +2926,11 @@ IFX_MEI_ModuleInit (void) > + int i = 0; > + static struct class *dsl_class; > + > +- printk ("IFX MEI Version %ld.%02ld.%02ld", bsp_mei_version.major, > bsp_mei_version.minor, bsp_mei_version.revision); ++ pr_info("IFX MEI > Version %ld.%02ld.%02ld", bsp_mei_version.major, bsp_mei_version.minor, > bsp_mei_version.revision); + > + for (i = 0; i < BSP_MAX_DEVICES; i++) { > + if (IFX_MEI_InitDevice (i) != 0) { > +- printk ("%s: Init device fail!\n", __FUNCTION__); > ++ IFX_MEI_EMSG("Init device fail!\n"); > + return -EIO; > + } > + IFX_MEI_InitDevNode (i); > +@@ -2942,7 +2942,7 @@ IFX_MEI_ModuleInit (void) > + dsl_bsp_event_callback[i].function = NULL; > + > + #ifdef CONFIG_IFXMIPS_MEI_FW_LOOPBACK > +- printk(KERN_INFO "[%s %s %d]: Start loopback test...\n", __FILE__, > __func__, __LINE__); ++ IFX_MEI_DMSG("Start loopback test...\n"); > + DFE_Loopback_Test (); > + #endif > + dsl_class = class_create(THIS_MODULE, "ifx_mei"); > +--- drv_dsl_cpe_api-3.24.4.4.orig/src/mei/ifxmips_atm_core.c 2010-03-13 > 16:42:49.000000000 +0100 ++++ > drv_dsl_cpe_api-3.24.4.4/src/mei/ifxmips_atm_core.c 2010-03-14 > 03:39:05.000000000 +0100 +@@ -2336,7 +2335,7 @@ static int > atm_showtime_enter(struct por > + IFX_REG_W32(0x0F, UTP_CFG); > + #endif > + > +- printk("enter showtime, cell rate: 0 - %d, 1 - %d, xdata addr: > 0x%08x\n", g_atm_priv_data.port[0].tx_max_cell_rate, > g_atm_priv_data.port[1].tx_max_cell_rate, (unsigned int)g_xdata_addr); ++ > pr_debug("enter showtime, cell rate: 0 - %d, 1 - %d, xdata addr: > 0x%08x\n", g_atm_priv_data.port[0].tx_max_cell_rate, > g_atm_priv_data.port[1].tx_max_cell_rate, (unsigned int)g_xdata_addr); + > + return IFX_SUCCESS; > + } > +@@ -2352,7 +2351,7 @@ static int atm_showtime_exit(void) > + // TODO: ReTX clean state > + g_xdata_addr = NULL; > + > +- printk("leave showtime\n"); > ++ pr_debug("leave showtime\n"); > + > + return IFX_SUCCESS; > + } > + >
Applied in r20270, thanks! _______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/mailman/listinfo/openwrt-devel
