10 Jul, 2019

1 commit


02 Nov, 2017

1 commit


27 Oct, 2017

2 commits


23 May, 2017

1 commit


28 Mar, 2017

3 commits


11 Jul, 2016

1 commit


21 Apr, 2016

1 commit


06 Apr, 2016

1 commit


17 Mar, 2016

3 commits

  • In chipidea IP RTL, there is a very limited design for siTD, the detail
    like below:
    There is no Max Packet Size at siTD, so it uses one constant for both
    Max Packet Size for packet and the packet size for the last transaction
    when considering schedule.
    If the ttctrl.ttha does not match against Hub Address field in siTD,
    this constant is 188 bytes, else this constant is 1023 bytes.

    If the ttctrl.ttha is non-zero value, RTL will use 188 as this constant,
    so it will lose the data if the packet size is larger than 188 bytes, eg,
    if we playback a wav which format is 48khz, 16 bits, 2 channels, the
    packet size will be 192bytes, but the controller will only send 188 bytes
    for this packet, the noise will be heared using USB audio card.
    The use case is single transaction, but higher frame rate.

    If the ttctr.ttha is zero value, we can send 1023 bytes within one
    transaction, but the controller will not accept the coming tranaction
    if it considers the schedule time is less than 1023 bytes. So the
    limitation is we can't schedule as many as transactions within frame.
    If the total bytes is already 256 bytes for previous transactions within
    frame, it can't accept another transaction. The use case is multiple
    transactions, but less frame rate.

    Signed-off-by: Peter Chen
    Signed-off-by: Peter Chen
    (cherry picked from commit 5e07ea7f812f2216263da2acd4f5e677de97fd62)

    Peter Chen
     
  • If this property is not set, the max packet size is 1023 bytes, and if
    the total of packet size for pervious transactions are more than 256 bytes,
    it can't accept any transactions within this frame. The use case is single
    transaction, but higher frame rate.

    If this property is set, the max packet size is 188 bytes, it can handle
    more transactions than above case, it can accept transactions until it
    considers the left room size within frame is less than 188 bytes, software
    needs to make sure it does not send more than 90%
    maximum_periodic_data_per_frame. The use case is multiple transactions, but
    less frame rate.

    Signed-off-by: Peter Chen
    Signed-off-by: Peter Chen
    (cherry picked from commit 7f3ee45c71d27ffaf1fb11f002b414ec9a323382)

    Peter Chen
     
  • This reverts commit e765bfb73ff7.

    In the most of cases, we only use one transaction per frame and the
    frame rate may be high, If the platforms want to support multiple
    transactions but less frame rate cases like [1] and [2], it can set
    "non-zero-ttctrl-ttha" at dts.

    [1] http://www.spinics.net/lists/linux-usb/msg123125.html
    [2] http://www.spinics.net/lists/linux-usb/msg118679.html

    Signed-off-by: Peter Chen
    Signed-off-by: Peter Chen
    (cherry picked from commit 9e1a14ec6dfe34ae92e9754bbb1a5c470acbcdf1)

    Peter Chen
     

15 Mar, 2016

1 commit

  • CMA region is a must to avoid the multile memory mapping
    for the DMAed memory and also benifit the large continious
    phisical memory allocation.

    The default value is depend on the target system design and
    user cases definition. This is not suitable to put this into
    the soc.dtsi, thus we put it into the board DTS.

    customer can override the value by changing cma size in DTS file.

    Again, customer need set the CMA size correctly according to the
    target system. The incorrectly CMA size can cause Linux kernel fail
    to boot up.CMA disabled or CMA size set to zero is also not allowed.

    Signed-off-by: Jason Liu

    Jason Liu
     

12 Mar, 2016

2 commits


09 Mar, 2016

1 commit


04 Mar, 2016

3 commits

  • add lpsr mode state for flexcan pins

    Signed-off-by: Dong Aisheng
    (cherry picked from commit 535699f47fbd7fb22a435ca2047560ee20687392)

    Dong Aisheng
     
  • For MX7D LPSR mode, the controller will lost power and got the
    configuration state lost after system resume back.
    So we need to set pinctrl state again and re-start chip to do
    re-configuration after resume.

    For wakeup case, we also need re-configure the chip in case the state
    got lost. For interface is not up before suspend case, we don't need
    re-configure as it will be configured by user later by interface up.

    Signed-off-by: Dong Aisheng
    (cherry picked from commit c26587d5ba9e30fce318c2fea516e9e4a6bde9ca)

    Dong Aisheng
     
  • When playback mono wav with record in background, there will be some
    nosie in the right dac channel. It seems that the ADC data has been
    routed to the dac channel.

    The cs42888 have 8 dac channels, it's appropriate to mute the unused
    dac channels, and the noise will disappear.

    Steps to reproduce this issue:
    arecord -D hw:0,0 -f S16_LE -r 48000 -c 1 a.wav &
    aplay -Dhw:0,0 audio48k16M.wav

    Signed-off-by: Zidan Wang
    Signed-off-by: Mark Brown
    (cherry picked from commit 1f1e60c9cdd573be271130e44a23efed48e0578d)

    Zidan Wang
     

02 Mar, 2016

4 commits

  • Do sanity check before calling mmc_force_remove.
    BCM WiFi driver will call wifi_card_detect(false) if probe fails
    due to no card exists on board.

    This is needed for Android BSP since Android has builtin WiFi drver
    and some boards may not have WiFi cards pluged.
    Then the kernel dump likes follows may appear.
    ----------------------------------------------
    dhd_module_init in
    Power-up adapter 'DHD generic adapter'
    wifi_platform_bus_enumerate device present 1
    mmc1: mmc_rescan_try_freq: trying to init card at 400000 Hz
    mmc1: mmc_rescan_try_freq: trying to init card at 300000 Hz
    mmc1: mmc_rescan_try_freq: trying to init card at 200000 Hz
    mmc1: mmc_rescan_try_freq: trying to init card at 100000 Hz
    failed to power up DHD generic adapter, 3 retry left
    wifi_platform_bus_enumerate device present 0
    ------------[ cut here ]------------
    Kernel BUG at 8051247c [verbose debug info unavailable]
    Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM
    Modules linked in: bcmdhd(+) ov5642_camera ov5640_camera_mipi_int ov5640_camera_int mxc_v4l2_capture ipu_bg_overlay_sdc ipu_still v4l2_int_device mxc_dcic ipu_prp_enc ipu_csi_enc ipu_fg_overlay_sdc evbug
    CPU: 3 PID: 1071 Comm: modprobe Not tainted 4.1.15-01591-g1393481 #1504
    Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
    task: a99be880 ti: a8dd8000 task.ti: a8dd8000
    PC is at mmc_sdio_remove+0x70/0x74
    LR is at mmc_sdio_force_remove+0xc/0x34
    pc : [] lr : [] psr: 60070013
    sp : a8dd9d00 ip : 00000000 fp : 00000000
    r10: 7f100c98 r9 : 00000000 r8 : 7f0fc410
    r7 : a8dd9d48 r6 : a83b1800 r5 : 00000000 r4 : a83b1800
    r3 : 00000000 r2 : 00000000 r1 : 809b50c8 r0 : 00000000
    Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
    Control: 10c53c7d Table: 38cdc04a DAC: 00000015
    Process modprobe (pid: 1071, stack limit = 0xa8dd8210)
    Stack: (0xa8dd9d00 to 0xa8dda000)
    9d00: 00000000 a83b1800 00000000 00000000 a8dd9d48 8051248c 00000000 7f0ca6cc
    9d20: a99be880 a90e6280 00000003 7f0ca920 fffffdfb a81af810 80bb570c 00000000
    9d40: 00020002 00000000 a8dd9d48 a8dd9d48 00000000 7f100c98 7f100c98 a90e6280
    9d60: fffffdfb 00000008 00000000 7f0fe490 56f19f1c 7f0cabe4 80bb6d74 a81af810
    9d80: 7f0fe248 8037f864 8037f820 80bb6d74 a81af810 00000000 7f0fe248 8037e118
    9da0: a81af810 7f0fe248 a81af844 80b1e8b0 00000000 8037e328 00000000 7f0fe248
    9dc0: 8037e29c 8037c660 a8025c5c a8187a34 7f0fe248 a9547780 00000000 8037d8b4
    9de0: 7f0f5028 7f0fe248 00000000 7f0fe248 00000000 a90e6280 80ba78f4 8037e92c
    9e00: 00000000 7f100c98 00000000 7f0cb02c 00000000 80af7720 80af7720 a90e6280
    9e20: 7f124000 00000000 00000001 80009730 00000000 8040003b abc7db80 800e1c68
    9e40: 00000000 a935c340 8040003a abc83180 ab757000 80af257c 00000001 8040003a
    9e60: 00000001 00000001 a8dd9e7c 80af2260 a8001f00 80af46c0 56f19f1c 800e32a0
    9e80: 7f0fe448 a90e6108 a90e6240 7f0fe448 a90e6100 7f0fe490 56f19f1c 8078b2b0
    9ea0: 7f0fe448 a90e6100 a8dd9f58 a90e6108 00000001 80092dd8 7f0fe454 00007fff
    9ec0: 800902a8 a8928900 7f0fe490 00000000 7f0fe590 000015fa c1754bfc 7f0fe590
    9ee0: c16d8000 000c823c 05de516a 00000000 0000000e 00000000 00000000 00000000
    9f00: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    9f20: 00000000 00000000 00000000 00000000 00000648 00000000 00000003 01111348
    9f40: 0000017b 8000f644 a8dd8000 00000000 00000073 8009352c c16d8000 000c823c
    9f60: c175456c c17543a5 c17957ec 0007ad30 0008f7c0 00000000 00000000 00000000
    9f80: 0000002a 0000002b 0000001f 00000023 00000014 00000000 01111348 00000000
    9fa0: 00000000 8000f4c0 01111348 00000000 00000003 01111348 00000000 00040000
    9fc0: 01111348 00000000 00000000 0000017b 00000000 01111218 00000073 00000073
    9fe0: 7ec5d950 7ec5d940 0001f0dc 76ecf610 600d0010 00000003 00000000 00000000
    [] (mmc_sdio_remove) from [] (mmc_sdio_force_remove+0xc/0x34)
    [] (mmc_sdio_force_remove) from [] (wifi_platform_bus_enumerate+0x54/0x90 [bcmdhd])
    [] (wifi_platform_bus_enumerate [bcmdhd]) from [] (dhd_wifi_platform_load+0x17c/0x39c [bcmdhd])
    [] (dhd_wifi_platform_load [bcmdhd]) from [] (wifi_plat_dev_drv_probe+0xa4/0x124 [bcmdhd])
    [] (wifi_plat_dev_drv_probe [bcmdhd]) from [] (platform_drv_probe+0x44/0xa4)
    [] (platform_drv_probe) from [] (driver_probe_device+0x174/0x2b4)
    [] (driver_probe_device) from [] (__driver_attach+0x8c/0x90)
    [] (__driver_attach) from [] (bus_for_each_dev+0x6c/0xa0)
    [] (bus_for_each_dev) from [] (bus_add_driver+0x148/0x1f0)
    [] (bus_add_driver) from [] (driver_register+0x78/0xf8)
    [] (driver_register) from [] (dhd_wifi_platform_register_drv+0x1cc/0x20c [bcmdhd])
    [] (dhd_wifi_platform_register_drv [bcmdhd]) from [] (do_one_initcall+0x8c/0x1d4)
    [] (do_one_initcall) from [] (do_init_module+0x5c/0x1a8)
    [] (do_init_module) from [] (load_module+0x177c/0x1d4c)
    [] (load_module) from [] (SyS_finit_module+0x64/0x74)
    [] (SyS_finit_module) from [] (ret_fast_syscall+0x0/0x3c)
    Code: e3a03000 e58631f8 e5863228 e8bd80f8 (e7f001f2)
    ---[ end trace 6f28ec270544e09e ]---
    Segmentation fault
    root@imx6qdlsolo:~#

    Signed-off-by: Dong Aisheng
    (cherry picked from commit 3c5798c62efeac08be34211eaac7c5467cf62894)

    Dong Aisheng
     
  • In order to save power consumption, turn off pcie clks/regulators
    if there is no pcie link at all.
    Summit this patch, because of that MLK-12278
    doesn't turn off the clks/regulators actually.

    Signed-off-by: Richard Zhu
    (cherry picked from commit 841b5c2c6890deebda63ddc119d201b700302262)

    Richard Zhu
     
  • This reverts commit 829b6962f7e3cfc06f7c5c26269fd47ad48cf503.

    Revert this change as it causes a sysfs path to change and therefore
    introduces and ABI regression. More precisely Android's vold is not being
    able to access /sys/module/mmcblk/parameters/perdev_minors any more, since
    the path becomes changed to: "/sys/module/mmc_block/..."

    Fixes: 829b6962f7e3 ("mmc: block: don't use parameter prefix if built as
    module")
    Reported-by: John Stultz
    Cc: Andy Shevchenko
    Signed-off-by: Ulf Hansson

    (cherry picked from commit a5ebb87db84392edfd3142c3a6a78431d820a789)

    Ulf Hansson
     
  • There have two same extended enet dts file to enable fec2 port, so
    remove the redundant enet dts file.

    The issue is caused by the commit 370426c2a918 that was cherry picked
    after commit b74c6b9c7fdc.

    Signed-off-by: Fugang Duan

    Fugang Duan
     

01 Mar, 2016

5 commits

  • MMC core pm_notify will re-detect card after system suspend/resume,
    regardless of post-cd claim.
    Since in current MMC implement, non-removeable card only detects once,
    this will break post card detect which happens next.
    e.g. when we suspend/resume system first, then load Broadcom wifi module,
    we will get below dump:

    root@imx6qdlsolo:/mnt/nfs/vte_IMX6QP-Sabre-SD# modprobe bcmdhd firmware_path=/lib/firmware/bcm/ZP_BCM4339/fw_bcmdhd.bin nvram_path=/lib/firmware/bcm/ZP_BCM4339/bcmdhd.ZP.SDIO.cal
    dhd_module_init in
    Power-up adapter 'DHD generic adapter'
    wifi_platform_bus_enumerate device present 1
    failed to power up DHD generic adapter, 3 retry left
    wifi_platform_bus_enumerate device present 0
    -----------[ cut here ]-----------
    Kernel BUG at 80513170 [verbose debug info unavailable]
    Internal error: Oops - BUG: 0 1 PREEMPT SMP ARM
    Modules linked in: bcmdhd ov5642_camera ov5640_camera_mipi_int ov5640_camera_int mxc_v4l2_capture mxc_dcic ipu_bg_overlay_sdc ipu_still v4l2_int_device ipu_prp_enc ipu_csi_enc ipu_fg_overlay_sdc
    CPU: 1 PID: 1487 Comm: modprobe Not tainted 4.1.15-1.0.0+g54cf6a2 #1
    Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
    task: a881e3c0 ti: a9152000 task.ti: a9152000
    PC is at mmc_sdio_remove+0x7c/0x80
    LR is at mmc_sdio_force_remove+0xc/0x34
    pc : [] lr : [] psr: 60030013
    sp : a9153d28 ip : 00000000 fp : 00000000
    r10: 00000000 r9 : 00000000 r8 : 7f0f76e0
    r7 : a9153d58 r6 : 00000000 r5 : 00000000 r4 : a83f1800
    r3 : 00000000 r2 : 00000000 r1 : 809c02f4 r0 : a83f1800
    Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
    Control: 10c53c7d Table: 38d7804a DAC: 00000015
    Process modprobe (pid: 1487, stack limit = 0xa9152210)
    Stack: (0xa9153d28 to 0xa9154000)
    3d20: 00000000 7f0c569c a9ffe440 00000003 00000000 7f0c58f4
    3d40: a81942c0 8032e33c a8195960 7f0fbf68 00020002 00000000 a9153d58 a9153d58
    3d60: fffffdfb 80bc0db4 a81af810 7f0f9518 fffffdfb 00000008 00000000 5624ce5c
    3d80: 00000124 80381140 80bc0db4 a81af810 7f0f9518 00000000 00000008 8037f9dc
    3da0: a81af810 7f0f9518 a81af844 80b288b0 00000000 8037fbec 00000000 7f0f9518
    3dc0: 8037fb60 8037e068 a8025c5c a818fa34 7f0f9518 a20ff280 00000000 8037f16c
    3de0: 7f0f0330 a9ffe440 00000000 7f0f9518 a9ffe440 00000000 80bb18f4 803801ec
    3e00: 7f0fbf68 a9ffe440 00000000 7f0c5fdc 80b01720 80b01720 a9ffe440 7f11f000
    3e20: 00000000 00000001 5624ce5c 80009730 abc7b120 800e316c 000000c8 a9209a00
    3e40: 8040003f 00000001 00010000 800b0dfc 000000c8 8040003f abc7dc60 80afc2b0
    3e60: abc75880 80afc260 a8001f00 80afe6c0 00000124 800e4944 7f0f9718 00000001
    3e80: 7f0f9718 00000001 a9ffeb00 7f0f9718 a9db31c0 8078e47c 7f0f9718 a9db31c0
    3ea0: a9153f58 00000001 a9db31c8 80094094 7f0f9724 00007fff 800910d4 00000000
    3ec0: 00000000 7f0f9760 00000000 7f0f9860 c0fce8f4 7f0f9724 00000000 8079aa0c
    3ee0: c0f07000 000c7944 00b6817a 00000000 0000000e 00000000 00000000 00000000
    3f00: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    3f20: 00000000 00000000 00000000 00000000 00000640 00000000 00000003 01608348
    3f40: 0000017b 8000f604 a9152000 00000000 01608270 800944f8 c0f07000 000c7944
    3f60: c0fce28c c0f83439 c0f99248 0007aff8 0008f968 00000000 00000000 00000000
    3f80: 00000029 0000002a 00000020 00000024 00000015 00000000 01608348 00000073
    3fa0: 00000000 8000f480 01608348 00000073 00000003 01608348 00000000 00000000
    3fc0: 01608348 00000073 00000000 0000017b 01608218 00000000 00000073 01608270
    3fe0: 7e9ab8c0 7e9ab8b0 0001f2c0 76eac340 600d0010 00000003 00000000 00000000
    [] (mmc_sdio_remove) from [] (dhd_wifi_platform_load+0x180/0x39c [bcmdhd])
    [] (dhd_wifi_platform_load [bcmdhd]) from [] (platform_drv_probe+0x44/0xac)
    [] (platform_drv_probe) from [] (driver_probe_device+0x174/0x2b4)
    [] (driver_probe_device) from [] (__driver_attach+0x8c/0x90)
    [] (__driver_attach) from [] (bus_for_each_dev+0x68/0x9c)
    [] (bus_for_each_dev) from [] (bus_add_driver+0x148/0x1f0)
    [] (bus_add_driver) from [] (driver_register+0x78/0xf8)
    [] (driver_register) from [] (dhd_wifi_platform_register_drv+0x1bc/0x208 [bcmdhd])
    [] (dhd_wifi_platform_register_drv [bcmdhd]) from [] (do_one_initcall+0x8c/0x1d4)
    [] (do_one_initcall) from [] (do_init_module+0x5c/0x1a8)
    [] (do_init_module) from [] (load_module+0x1ba8/0x1e50)
    [] (load_module) from [] (SyS_finit_module+0x80/0x90)
    [] (SyS_finit_module) from [] (ret_fast_syscall+0x0/0x3c)

    Signed-off-by: Dong Aisheng

    Dong Aisheng
     
  • With igore pm notify feature, MMC core will not re-detect card
    after system suspend/resume. This is needed for some special cards
    like Broadcom WiFi which can't work propertly on card re-detect
    after system resume.

    Signed-off-by: Dong Aisheng

    Dong Aisheng
     
  • The root cause of these failures is related with a hardware
    ERRATA (onComp2 flop power-up value is 1 instead of 0).
    Preview patch c086763024a8117beaa8ea27ee88eaeafd03ef3e in issue
    track #1105 is not a fully fix, here implement a DummyDraw to
    workaround the hardware ERRATA.

    Signed-off-by: Richard Liu
    (cherry picked from commit cc78790048a81de6c218c09766277ef3be34ffd0)

    Richard Liu
     
  • restore the pinmux when resume from LPSR mode in suspend.

    Signed-off-by: Robby Cai
    (cherry picked from commit 0462eb2cb8b64508260d9c6daa9f163d68ea6be0)

    Conflicts:
    drivers/video/mxsfb.c

    Robby Cai
     
  • The pwm1's pin belongs to lpsr iomux. So this should
    be corrected.

    Signed-off-by: Fancy Fang
    (cherry picked from commit 94f87fc66f354dea8537d360732612ac5d6d65e6)

    Fancy Fang
     

29 Feb, 2016

1 commit


26 Feb, 2016

3 commits


25 Feb, 2016

1 commit


24 Feb, 2016

1 commit

  • Before entering LPSR mode, as GPC was set to STOP/DSM mode already,
    the wfi loop after LPSR mode would cause system enter STOP/DSM mode
    first, then SNVS will force PMIC_ON_REQ to low, as SNVS needs IPG
    clock to be on before entering SNVS/LPSR mode, so we have to disable
    STOP/DSM mode to make sure IPG clock is on before SNVS actually enters
    LPSR mode.

    Signed-off-by: Anson Huang

    Anson Huang
     

23 Feb, 2016

1 commit


22 Feb, 2016

3 commits