aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
...
* ASoC: core: Add SOC_DOUBLE_R_S_TLVMarkus Pargmann2014-05-13
| | | | | | | | Add a macro for signed mixer with two registers and tlv array. Signed-off-by: Markus Pargmann <mpa@pengutronix.de> Signed-off-by: Mark Brown <broonie@linaro.org> (cherry picked from commit cd21b123346c6a2f033d8c3bd2bf240198b5712a)
* ASoC: core: Add signed register volume control logicMarkus Pargmann2014-05-13
| | | | | | | | | | | | | | | | Some codecs use signed volume control representation with non standard register sizes, e.g. 6 or 7 bit signed integers. This patch adds generic signed register volume control logic to soc-core. Instead of a fixed width signed register control, this implementation uses a 'min' value and the signed bit location to translate it to an absolute volume. Using the 'sign_bit' we can calculate a correct mask for the register values and translate it back into signed integers of standard size. Signed-off-by: Markus Pargmann <mpa@pengutronix.de> Signed-off-by: Mark Brown <broonie@linaro.org> (cherry picked from commit f227b88f0fce5f9b82aa934f8829a741c2e06d82)
* ENGR00313080 ARM: imx6sl: fix the incorrect out_lrc settings of PXP when ↵Fancy Fang2014-05-12
| | | | | | | | | | rot_pos==1 This is a typing error by mistake in a previous patch. Obviously, the out_lrc settings should not be the same between rot_pos == 0 and rot_pos == 1. Signed-off-by: Fancy Fang <chen.fang@freescale.com>
* ENGR00313072 dma: sdma: sdma can't work for p2p in some case.Shengjiu Wang2014-05-12
| | | | | | | | | | | | | | | | | | | sdma can't work for p2p when "dma_request0 < 31, dma_request1 > 31". The context parameter for p_2_p script is described in RM A.3.2.5.1 r0: LWML event mask, combined with bit28 of INFO r1: HWML event mask, combined with bit29 of INFO r7: INFO: bit 28: LWML Event (0 - LWE in EVENTS, 1 - LWE in EVENTS2); bit 29: HWML event (0 - HWE in EVENTS, 1 - HWE in EVENTS2); In sdma_load_context(), we set r0 = event_mask1, r1 = event_mask0. which means the event_mask1 is LWML event mask, event_mask0 is HWML event mask. In sdma_config_channel() Event_id0 set the bit 28, which means event_id0 is corresponding to event_mask1, event_id1 is corresponding to event_mask0. So here we need to correct the wrong setting in sdma_config_channel(), for some setting didn't follow this principle. Signed-off-by: Shengjiu Wang <b02247@freescale.com>
* ENGR00312702-2 PXP: Reset channel state before pxp channel configurationSandor Yu2014-05-12
| | | | | | | Reset struct of pxp_conf_state to zero before pxp channel configuration, in case some application miss configuration struct ol_param. Signed-off-by: Sandor Yu <R01008@freescale.com>
* ENGR00312702-1 csi v4l2 capture: Pass overlay parameter to pxp dmaSandor Yu2014-05-12
| | | | | | | Pass overlay parameter to pxp dma, otherwise struct of ol_param will remain the value as last pxp task. Signed-off-by: Sandor Yu <R01008@freescale.com>
* ENGR00311686 csi v4l2 capture: enable swap functionSandor Yu2014-05-12
| | | | | | | Enable csi data swap function when csi v4l2 need do csc between YUYV and UYVY. Signed-off-by: Sandor Yu <R01008@freescale.com>
* ENGR00310844 [IMX6SX_SDB/IMX6SL_EVK]Video Display: All the videos have a ↵Fancy Fang2014-05-11
| | | | | | | | | | | | green line at the bottom when play with 'gplay' and 'gplay-1.0' This issue is due to the incorrect settings for PXP_SCALE register. On the previous settings, when the PXP need to do interpolation operation in SCALE engine, it has out-of-range image access. So we need to adjust the scaling settings to make this issue not happen through sacrifising some unnoticed image precise. Signed-off-by: Fancy Fang <chen.fang@freescale.com>
* ENGR00311992-3 ARM: imx: add cpufreq support for i.mx6sxAnson Huang2014-05-08
| | | | | | | | | | | | | | | Enable cpufreq support for i.MX6SX, currently three setpoints are supported, the freq/volt table are as below: VDDARM_CAP VDDSOC_CAP 996M: 1.250V 1.175V 792M: 1.175V 1.175V 396M: 1.075V 1.175V All upper voltages are 25mV higher then the minimum value defined in datasheet, this 25mV is to cover board level IR drop. Signed-off-by: Anson Huang <b20788@freescale.com>
* ENGR00311992-2 cpufreq: imx6: remove pu regulator dependencyAnson Huang2014-05-08
| | | | | | | | PU regulator is not a necessary regulator for cpufreq, not all i.MX6 SoCs have PU regulator, so remove the dependency to support i.MX6SX which has NO PU regulator. Signed-off-by: Anson Huang <b20788@freescale.com>
* ENGR00311992-1 ARM: dts: imx6sx: enable cpufreqAnson Huang2014-05-08
| | | | | | | Add cpufreq related opp info to support cpufreq driver for i.MX6SX. Signed-off-by: Anson Huang <b20788@freescale.com>
* ENGR00312217-1 ASoC: fsl: pop noise with wm8962Shengjiu Wang2014-05-07
| | | | | | | | | The reason of pop noise is that we change the sysclk in hw_free, which is for another wm8962 issue. So in currently the pop noise can't be resolved with no confliction. So for Android, because the samplerate is fixed. we can use other workaround for this issue: change the sysclk in the set_bias(). Signed-off-by: Shengjiu Wang <b02247@freescale.com>
* ENGR00311595 gpu:Fix for gpu hang when running es11 conformanceLoren Huang2014-05-05
| | | | | | | | | | | | -ES11 conformance "Must Pass test" and "LogicOp Function test" failed b -This patch from vivante. Vivante Comments:"If gcdCMD_NO_2D_CONTEXT is Patch content -Remove context->dirty2D flag setting when gcdCMD_NO_2D_CONTEXT is set. Date: May 05, 2014 Signed-off-by: Loren Huang <b02279@freescale.com> Acked-by: Shawn Guo
* ENGR00311249 ARM: imx: add DDR/IO low power mode for i.mx6sxAnson Huang2014-05-04
| | | | | | | Set DDR/IO to low power mode for i.MX6SX when system enter DSM mode, it can save ~8mW power(from 25mA lower to 19mA). Signed-off-by: Anson Huang <b20788@freescale.com>
* ENGR00300876 [#ccc] Fix flick issue in GAL2D compositorYong Gan2014-05-04
| | | | | | | | | | | Move wl_surface_commit to work thread. Add wl_display_sync after commit buffer. Fix memory leak in wl_egl_window_resize. Enable triple buffer rendering. Disable skip worker in veglSwapWorker. Date: Apr 21, 2014 Signed-off-by Yong Gan <B45748@freescale.com>
* ENGR00311092 v4l2 capture: Add width and height zero checkSandor Yu2014-05-04
| | | | | | | | Add width and height zero check to avoid kernel dump by the error "Division by zero in kernel" when user application call the s_fmt api with zero height and width Signed-off-by: Sandor Yu <R01008@freescale.com>
* ASoC: fsl-esai: fix ESAI TDM slot settingXiubo Li2014-04-30
| | | | | | | | Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com> Acked-by: Nicolin Chen <Guangyu.Chen@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org> (cherry picked from commit 236014ac7a6524f9f466139c2e47af70cb340ba3) Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
* ENGR00310058 [#1155] gcvHAL_IMPORT_VIDEO_MEMORY is missing from VG ioctlsZhenyong Chen2014-04-30
| | | | | | | | | This patch is from Vivante (part of #831). It adds missing ioctls to VG kernel driver. Now VG355 can be enabled for X11. Date: Apr 24, 2014 Signed-off-by: Zhenyong Chen <b07273@freescale.com> Acked-by: Jason Liu
* ENGR00309798 arm: create standalone dts for a9 when m4 is runningRichard Zhu2014-04-30
| | | | | | | | | | Create standalone dts for a9 when m4 is running, since there are some conflictions in the following modules * i2c3 * flexcan1&2 * uart2 Signed-off-by: Richard Zhu <r65037@freescale.com>
* ENGR00311068 ASoC: fsl_hdmi: passthrough can't work for androidShengjiu Wang2014-04-30
| | | | | | | Android need driver to export several kcontrol. "Support channels", "Support Rates", "Support Formats". Signed-off-by: Shengjiu Wang <b02247@freescale.com>
* ENGR00303665-3 ARM: imx: add busfreq support for i.MX6SXAnson Huang2014-04-30
| | | | | | | | | Add busfreq support for i.MX6SX, add a new ddr3 asm code and use a busfreq info structure to pass necessary info for low level busfreq change function, the structure will be placed in front of ocram function. Signed-off-by: Anson Huang <b20788@freescale.com>
* ENGR00303665-2 ARM: imx: correct clock tree info on i.MX6SXAnson Huang2014-04-30
| | | | | | | | | | From reference manual, periph2_pre's parent list option 3 is pll4_audio_div, not pll2_198m. And periph2_clk2 's parent of option 1 should be osc, not pll2. Need to mask handshake of mmdc ch0. Signed-off-by: Anson Huang <b20788@freescale.com>
* ENGR00303665-1 ARM: dts: imx6sx: add busfreq supportAnson Huang2014-04-30
| | | | | | Add busfreq support; Signed-off-by: Anson Huang <b20788@freescale.com>
* mtd: nand: fix a typo in a comment lineMasahiro Yamada2014-04-29
| | | | | | Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Signed-off-by: Brian Norris <computersforpeace@gmail.com> Signed-off-by: Huang Shijie <b32955@freescale.com>
* serial: imx: Remove init() and exit() platform callbacksAlexander Shiyan2014-04-29
| | | | | | Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Huang Shijie <b32955@freescale.com>
* serial: imx: Use dev_name() for request_irq() to distinguish UARTsAlexander Shiyan2014-04-29
| | | | | | Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Huang Shijie <b32955@freescale.com>
* serial: imx: Use devm_ioremap_resource()Alexander Shiyan2014-04-29
| | | | | | | | | Use devm_ioremap_resource() in order to make the code simpler and it gives proper codes on errors. Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Huang Shijie <b32955@freescale.com>
* ENGR00311007 ASoC: fsl: mclk changed for slxShengjiu Wang2014-04-29
| | | | | | mclk of cs42888 is changed for slx. Signed-off-by: Shengjiu Wang <b02247@freescale.com>
* ENGR00310878-2 ASoC: fsl_esai: cherry-pick from upstream and merge to mainlineShengjiu Wang2014-04-29
| | | | | | | | | | | | | | | cherry-picked commit is 43d24e76b69826ce32292f47060ad78cdd0197fa Header of this commit is "ASoC: fsl_esai: Add ESAI CPU DAI driver", use upstream driver to replace current one. Merged feature is: 1. Move setting of PRRC and PCRC to the end of hw_params, and disable it in shutdown function. 2. Merged the xrun handler with this commit. 3. Use dma init with NO_RESIDUE|NO_DT|COMPAT. 4. Add spba clock for ESAI Signed-off-by: Shengjiu Wang <b02247@freescale.com>
* ENGR00310878-1 Asoc: fsl: refine clock tree for ESAIShengjiu Wang2014-04-29
| | | | | | | There are three clock for ESAI, esai_extal, esai_ipg, esai_mem. Make the clock for ESAI more clear. Signed-off-by: Shengjiu Wang <b02247@freescale.com>
* ENGR00310785 ARM: imx6sx: dts: Move sound nodes to sub-dts for arm2 boardsNicolin Chen2014-04-28
| | | | | | | | | | | | We disable spdif and sai in imx6sx-*-arm2.dts and only enable them in their sub-dts like imx6sx-17x17-arm2-spdif.dts while we haven't put the sound nodes into the sub-dts because the dependancy between sound and spdif/sai. This would result people get the frequent -517 probe error everytime they insert a new device or module. So this patch puts them to the sub-dts. Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
* bluetooth: hci_ldisc: fix deadlock conditionFelipe Balbi2014-04-28
| | | | | | | | | | | | | | | | | | LDISCs shouldn't call tty->ops->write() from within ->write_wakeup(). ->write_wakeup() is called with port lock taken and IRQs disabled, tty->ops->write() will try to acquire the same port lock and we will deadlock. Acked-by: Marcel Holtmann <marcel@holtmann.org> Reviewed-by: Peter Hurley <peter@hurleysoftware.com> Reported-by: Huang Shijie <b32955@freescale.com> Signed-off-by: Felipe Balbi <balbi@ti.com> Tested-by: Andreas Bießmann <andreas@biessmann.de> Cc: stable <stable@vger.kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Huang Shijie <b32955@freescale.com>
* tty_ldisc: add more limits to the @write_wakeupHuang Shijie2014-04-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the uart_handle_cts_change(), uart_write_wakeup() is called after we call @uart_port->ops->start_tx(). The Documentation/serial/driver tells us: ----------------------------------------------- start_tx(port) Start transmitting characters. Locking: port->lock taken. Interrupts: locally disabled. ----------------------------------------------- So when the uart_write_wakeup() is called, the port->lock is taken by the upper. See the following callstack: |_ uart_write_wakeup |_ tty_wakeup |_ ld->ops->write_wakeup With the port->lock held, we call the @write_wakeup. Some implemetation of the @write_wakeup does not notice that the port->lock is held, and it still tries to send data with uart_write() which will try to grab the prot->lock. A dead lock occurs, see the following log caught in the Bluetooth by uart: -------------------------------------------------------------------- BUG: spinlock lockup suspected on CPU#0, swapper/0/0 lock: 0xdc3f4410, .magic: dead4ead, .owner: swapper/0/0, .owner_cpu: 0 CPU: 0 PID: 0 Comm: swapper/0 Tainted: G W 3.10.17-16839-ge4a1bef #1320 [<80014cbc>] (unwind_backtrace+0x0/0x138) from [<8001251c>] (show_stack+0x10/0x14) [<8001251c>] (show_stack+0x10/0x14) from [<802816ac>] (do_raw_spin_lock+0x108/0x184) [<802816ac>] (do_raw_spin_lock+0x108/0x184) from [<806a22b0>] (_raw_spin_lock_irqsave+0x54/0x60) [<806a22b0>] (_raw_spin_lock_irqsave+0x54/0x60) from [<802f5754>] (uart_write+0x38/0xe0) [<802f5754>] (uart_write+0x38/0xe0) from [<80455270>] (hci_uart_tx_wakeup+0xa4/0x168) [<80455270>] (hci_uart_tx_wakeup+0xa4/0x168) from [<802dab18>] (tty_wakeup+0x50/0x5c) [<802dab18>] (tty_wakeup+0x50/0x5c) from [<802f81a4>] (imx_rtsint+0x50/0x80) [<802f81a4>] (imx_rtsint+0x50/0x80) from [<802f88f4>] (imx_int+0x158/0x17c) [<802f88f4>] (imx_int+0x158/0x17c) from [<8007abe0>] (handle_irq_event_percpu+0x50/0x194) [<8007abe0>] (handle_irq_event_percpu+0x50/0x194) from [<8007ad60>] (handle_irq_event+0x3c/0x5c) -------------------------------------------------------------------- This patch adds more limits to the @write_wakeup, the one who wants to implemet the @write_wakeup should follow the limits which avoid the deadlock. Signed-off-by: Huang Shijie <b32955@freescale.com> Signed-off-by: Felipe Balbi <balbi@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* ENGR00310742 [#1087] fixed gpu database query failureXianzhong2014-04-28
| | | | | | | | this patch fix gpu database query failure with gmem_info Date: Apr 28, 2014 Signed-off-by: Xianzhong <b07117@freescale.com> Acked-by: Jason Liu
* ENGR00310498 usb: chipidea: otg: fix otg role switch from host to device failureLi Jun2014-04-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fix the failure when OTG port switch from host to device mode after removes ID cable with usb device(e.g usb hub) connected. How to reproduce: - Enable console wakeup: echo enabled > /sys/class/tty/ttymxc0/power/wakeup - Connect a usb hub with ID cable to OTG port. - Suspend the system: ehco mem > /sys/power/state - Wakeup the system by console. - Remove ID cable together with usb hub. - OTG port cannot switch to device role. Root cause: In this case, ID change interrupt generates before port change interrupt, so with irq disabled, ci_handle_id_switch() will find there is usb device still connected and wait it to disconnect by sleep, but disconnect will not happen since usb irq still disabled so port change irq has no chance to be handled. How this patch is fixing this issue: This patch enables irq before sleep and disables irq after, thus port change irq can be handled and usb device disconnection can timely happen, then ci_handle_id_switch() can stop host and switch to device role correctly. meanwhile change the delay time to 10~15 ms to avoid too frequent connection check and irq enable/disable. Signed-off-by: Li Jun <b47624@freescale.com>
* ENGR00310290 ARM: imx: enable necessary clocks for i.mx6sxAnson Huang2014-04-25
| | | | | | | | On i.MX6SX, when CA9 and CM4 are working together, CA9 can NOT disable those shared modules' clock, so keep those clocks CM4 needs always enabled. Signed-off-by: Anson Huang <b20788@freescale.com>
* ENGR00309489-2 v4l2 capture: Change code that violate v4l2 apiSandor Yu2014-04-24
| | | | | | | | | -Remove parameter crop_current and replace by cam->crop_current. -Remove parameter win_current and update pxp buffer initialize code. -Move csi config code from s_fmt function to s_param. -Correct crop_bound setting for vadc. Signed-off-by: Sandor Yu <R01008@freescale.com>
* ENGR00309489-1 vadc: replace raw lines with active linesSandor Yu2014-04-24
| | | | | | | | | Replace raw lines with active lines. return active lines to v4l2 capture driver. For csi capture driver, the capture size is setting to active lines and don't care raw lines. Signed-off-by: Sandor Yu <R01008@freescale.com>
* ENGR00301281 media: mxc vout: set input resolution back after PP check/processLiu Ying2014-04-23
| | | | | | | | | | | | | | | | | | | | In VDOA PP mode, the input resolution would be changed to be VDOA's output for PP to use as its input resolution to go on to do resizing or color space conversion. The input resolution will be different from the original one when VDOA input cropping is enabled. And, this finally causes a wrong input resolution being used if the users do rotation by calling the S_CTRL ioctrl in runtime. In order to fix this issue, this patch sets the original input resolution back after PP task check and process. The issue can be reproduced by the following command line(enable VDOA mode in the gst plugin configuration file first): gplay AVC_MP30_854x356_23.976_679_AACLC_44.1_96_2_TRON_LEGACY.flv (Enter 't 90' to change to rotate 90 degrees in runtime.) In this case, VDOA input cropping(854x356 -> 848x352) is enabled because VDOA input resolution should align to macro block size. Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
* ENGR00309915 [#1087] enhanced video memory mutexXianzhong2014-04-23
| | | | | | | | | | | | | | | | | | | | | | | | | this patch can fix NULL pointer issue in GPU kernel driver with the following log [<7f240438>] (gckEVENT_AddList+0x0/0x810 [galcore]) from [<7f239ebc>] (gckCOMMAND_Commit+0xf28/0x118c [galcore]) [<7f238f94>] (gckCOMMAND_Commit+0x0/0x118c [galcore]) from [<7f2362dc>] (gckKERNEL_Dispatch+0x120c/0x24e4 [galcore]) [<7f2350d0>] (gckKERNEL_Dispatch+0x0/0x24e4 [galcore]) from [<7f222280>] (drv_ioctl+0x390/0x540 [galcore]) [<7f221ef0>] (drv_ioctl+0x0/0x540 [galcore]) from [<800facd0>] (vfs_ioctl+0x30/0x44) The false code is at 0x217bc where the 0-pointer happens (r3 = 0) gcuVIDMEM_NODE_PTR node = (gcuVIDMEM_NODE_PTR)(gcmUINT64_TO_PTR(Record->info.u.FreeVideoMemory.node)); 217b8: e5953028 ldr r3, [r5, #40] ; 0x28 if (node->VidMem.memory->object.type == gcvOBJ_VIDMEM) 217bc: e5932000 ldr r2, [r3] 217c0: e5922000 ldr r2, [r2] 217c4: e152000a cmp r2, sl { gcmkVERIFY_OK(gckKERNEL_RemoveProcessDB(Event->kernel, Date: Apr 23, 2014 Signed-off-by: Xianzhong <b07117@freescale.com> Acked-by: Jason Liu
* ENGR00309977-3 ARM: imx6sx: Drop useless IMX6SX_CLK_AUDIO_GATENicolin Chen2014-04-23
| | | | | | | | Since we've fixed the clock's shared-gate issue, we no longer need this gate clock. Thus drop it. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
* ENGR00309977-2 ARM: imx6q/sl: Set SPDIF clock to 22736841HzNicolin Chen2014-04-23
| | | | | | | | | | | | | | | | | | | | Since we no longer use clk_set_rate() in spdif driver, the rate we provide to it on imx6q/sl platforms is no more contented for its supporting sample rates. By setting the clock to 22736841Hz, we can get the sample rates: 48008Hz for 48000Hz 32005Hz for 32000Hz 43859Hz for 44100Hz The results for 48KHz and 32KHz has changed comparing to the previous release, but the one for 44100Hz has a bit lose even though it should be the best we can get based on the current clock rate. If user want to playback a perfect 44100Hz, they need to change the parent clock rate. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
* ENGR00309977-1 ARM: imx6sx: Separate SPDIF and Audio clocksNicolin Chen2014-04-23
| | | | | | | | | | | | | | | | | | | Shawn's patch -- ARM: imx: shared gate support for i.MX clk_gate2 clocko has fixed the problem of clock conflicts due to sharing a same gate. So from now on, we can no longer need to take care the shared gate clock for each audio clock route. Thus this patch separates them by using the new clock registering helper function. And meanwhile, we set a proper rate for each route so as to support each module. For S/PDIF, we use 98304000Hz so that the current driver would perfectly get 32000Hz and 48000Hz sample rate playback support, even though we can only get 43885Hz for 44100Hz sample rate in this way -- If user want to playback 44100Hz group sample rates, they need to change the parent rate. Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
* ENGR00310027 net:fec: return the suitable value in irq handlerFugang Duan2014-04-23
| | | | | | | The current return value is not right beacause there may have irq interrupt that is processed. So correct the return value. Signed-off-by: Fugang Duan <B38611@freescale.com>
* ENGR00309934 ARM: imx_v7_defconfig: Select CONFIG_USB_G_NCM as moduleLi Jun2014-04-23
| | | | | | Enable g_ncm as module for use g_ncm gadget driver. Signed-off-by: Li Jun <b47624@freescale.com>
* ARM: imx: add shared gate clock supportShawn Guo2014-04-22
| | | | | | | | | | | | | | | It's quite common on i.MX that one gate bit controls the gating of multiple clocks, i.e. this is a shared gate. The patch adds the function imx_clk_gate2_shared() for such case. The clocks controlled by the same gate bits should call this function with a pointer to a single share count variable, so that the gate bits will only be operated on the first enabling and the last disabling of these shared gate clocks. Thanks to Gerhard Sittig <gsi@denx.de> for this idea. Signed-off-by: Shawn Guo <shawn.guo@freescale.com> Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
* ARM: imx: lock is always valid for clk_gate2Shawn Guo2014-04-22
| | | | | | | | The imx specific clk_gate2 always has a valid lock with the clock. So the validation on gate->lock is not really needed. Remove it. Signed-off-by: Shawn Guo <shawn.guo@freescale.com> Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
* ARM: imx: define struct clk_gate2 on our ownShawn Guo2014-04-22
| | | | | | | | | | | | | The imx clk-gate2 driver implements an i.MX specific gate clock, which has two bits controlling the gate states. While this is a completely separate gate driver from the common clk-gate one, it reuses the common clk_gate structure. Such reusing makes the extending of clk_gate2 clumsy. Let's define struct clk_gate2 on our own to make the driver independent of the common clk-gate one, and ease the clk_gate2 extending at a later time. Signed-off-by: Shawn Guo <shawn.guo@freescale.com> Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
* ENGR00309828 ARM: imx6sx: Add imx6sx-17x17-arm2-mlb.dtb in MakefileLuwei Zhou2014-04-22
| | | | | | Add imx6sx-17x17-arm2-mlb.dtb in devicetree makefile list Signed-off-by: Luwei Zhou <b45643@freescale.com>
* ENGR00309727 net:fec: fix mdio timeout issueFugang Duan2014-04-22
| | | | | | | | | | | | | | | | The issue can be reproduced after overninght test, reproduced step: nfs mount rootfs, don't do any other ethernet test cases. If the issue generates, there has log: fec 2188000.ethernet eth0: MDIO read timeout The origin interrupt handler may ignore to process mdio interrupt in current irq handler until the next irq action. If the next irq comes in time that is less than the mdio wait time, the next irq handler wake up a single thread waiting on this completion, MDIO read function can get the single before time expired. Otherwise, MDIO read generate timeout issue. The patch just to fix the issue. Signed-off-by: Fugang Duan <B38611@freescale.com>