30 Aug, 2017

2 commits

  • g2d code has different parameter setting about stride parameter.
    For compatibility with all cases of using PxP, we need add this
    improved feature.

    Signed-off-by: Guoniu.Zhou
    Reviewed-by: Robby Cai
    Reviewed-by: Fancy Fang

    Guoniu.Zhou
     
  • If pxp use crop x/y valuse as the upper left coordinate in
    out buffer, pxp driver only need to write out buffer base
    address to pxp out_buf register. If pxp driver use zero as
    ps_ulc register value, pxp out_buf register need an offset
    added with out buffer base address.

    Signed-off-by: Guoniu.Zhou
    Reviewed-by: Robby Cai
    Reviewed-by: Fancy Fang

    Guoniu.Zhou
     

29 Aug, 2017

1 commit


18 Aug, 2017

1 commit


17 Aug, 2017

1 commit

  • set WFE (WFE_A on imx7d, and WFE_B on imx6ull/imx6sll) input address to
    framebuffer start address, and set left/top coordinate since the framebuffer is
    the original source of WFE (i.e., not from PXP output) when bypass legacy mode.
    The patch also limits the condition to bypass legacy mode when not use
    EPDC_FLAG_USE_ALT_BUFFER.

    Signed-off-by: Robby Cai
    (cherry picked from commit 7f19940705902623166777c675f5e10c9e7fc477)

    Robby Cai
     

08 Aug, 2017

1 commit

  • when gpu memory is from virtual system pool, the physical address
    will become invalid, driver should enable mmu mapping accordingly.

    but current kernel driver return the zero address with default value,
    this mistake will cause gpu write into the wrong memory from zero.

    this fix mark the invalid address for the virtual memory.

    Date: Aug 06, 2017
    Signed-off-by: Xianzhong
    Reviewed-by: Yuchou Gan
    Reviewed-by: Yong Gan
    Tested-by: Jason Liu

    Xianzhong
     

04 Aug, 2017

1 commit

  • For HannStar (HSD100PXN1 Rev: 1-A00C11 F/W:0634) LVDS touch screen,
    it has a special request for the EETI touch controller. The host
    needs to trigger I2C event to device FW at booting first, and then
    the FW can switch to I2C interface. Otherwise, the FW can’t work
    with I2C interface, and can't generate any interrupt when touch
    the screen.

    This patch send an I2C command before the device wake up, make sure
    the device switch to I2C interface first.

    Signed-off-by: Haibo Chen
    Reviewed-by: Andy Duan
    (cherry picked from commit 037f88c1b9566008748d54b9d4feb647c38c6153)

    Haibo Chen
     

26 Jul, 2017

1 commit


25 Jul, 2017

3 commits


20 Jul, 2017

1 commit

  • After the chipidea driver introduce extcon for id and vbus, it's able
    to wakeup from another irq source, in case the system with extcon ID
    cable, wakeup from usb ID cable and device removal, the usb device
    disconnect irq may come firstly before the extcon notifier while system
    resume, so we will get 2 "wakeup" irq, one for usb device disconnect;
    and one for extcon ID cable change(real wakeup event), current driver
    treat them as 2 successive wakeup irq so can't handle it correctly, then
    finially the usb irq can't be enabled. This patch adds a check to bypass
    further usb events before controller resume finished to fix it.

    Reviewed-by: Peter Chen
    Signed-off-by: Li Jun

    Li Jun
     

14 Jul, 2017

1 commit


13 Jul, 2017

1 commit


12 Jul, 2017

2 commits


07 Jul, 2017

1 commit

  • mxc_mipi_dsi_samsung 30760000.mipi-dsi: MIPI DSI dispdrv inited!
    mxsfb 30730000.lcdif: registered mxc display driver mipi_dsi_samsung
    mxc_mipi_dsi_samsung 30760000.mipi-dsi: failed to reset device: -517
    mxsfb 30730000.lcdif: failed to enable dispdrv:mipi_dsi_samsung

    due to the commit e188cbf7564fba80e8339b9406e8740f3e495c63
    "gpio: mxc: shift gpio_mxc_init() to subsys_initcall level", and
    gpio_reset uses arch_initcall level, the gpio driver is not yet
    ready when call device_reset() thus return -EPROBE_DEFER. But the caller
    of device_reset(), mipi_dsi_enable() has no defer strategy.
    use of_reset_control_get() function in init() function, which will be called
    in probe function in mxsfb driver, to workaround the defer case.

    Acked-by: Fang Chen
    Acked-by: Cristina-mihaela Ciocan
    Signed-off-by: Robby Cai
    (cherry picked from commit 5e90ffe698d08010b52104431409b2c45dcbca52)

    Robby Cai
     

05 Jul, 2017

2 commits

  • CAAM aes modes share descriptors, because of this CAAM requires an IV
    for ECB. ECB does not need an IV and users do not have to pass valid
    IV vectors. To allow correct usage with minimum impact to the driver a
    zero IV is provided by the driver for ECB operations that need it.

    Signed-off-by: Radu Solea

    Radu Solea
     
  • This patch fixes build warning that 2 variables may be used uninitialized
    in the pxp_fetch_config() function in drivers/dma/pxp/pxp_dma_v3.c .

    The variables in_fmt and out_fmt are passed as parameters to
    pxp_fetch_shift_calc() only if shift_bypass is false. This flag cannot be
    false unless changed in a code block that also assigns in_fmt and out_fmt.

    Since the compiler cannot detect this flow, it shows a warning that in_fmt
    and out_fmt are not initialized. Fix this by changing the code flow such
    that in_fmt and out_fmt are sent as parameters in the same code block where
    they are assigned.

    Signed-off-by: Cristina Ciocan
    (cherry picked from commit e710b061ef292402045b30ccb56bcdcd343d43c5)

    Cristina Ciocan
     

30 Jun, 2017

1 commit

  • It is possible for an irq triggered by channel0 to be received later,
    after clks are disabled. If that happens then clearing them by writing
    to SDMA_H_INTR won't work and the system will hang processing infinite
    interrupts. Actually, don't need interrupt triggered on channel0 since
    it's pollling to know channel0 done rather than interrupt in current
    code, just clear BD setting to disable channel0 interrupt to avoid the
    above case.

    Reported-by: Leonard Crestez
    Signed-off-by: Robin Gong
    (cherry picked from commit ed3bbe18323565b0c07f836fbf53401ffa887bf2)

    Robin Gong
     

28 Jun, 2017

1 commit


20 Jun, 2017

3 commits

  • The DCP driver does not obey cryptlen, when doing CTS this results in
    passing to hardware input stream lengths which are not multiple of
    block size. This causes the hw to misbehave. Also not honoring
    cryptlen makes CTS fail. A check was introduced to prevent future
    erroneous stream lengths from reaching the hardware. Code which is
    splitting the input stream in internal DCP pages was changed to obey
    cryptlen.

    Signed-off-by: Radu Solea

    Radu Solea
     
  • On imx6sl and imx6ull DCP writes at least 32 bytes in the output
    buffer instead of hash length as documented. Add intermediate buffer
    to prevent write out of bounds.

    When requested to produce null hashes DCP fails to produce valid
    output. Add software workaround to bypass hardware and return valid output.

    Signed-off-by: Radu Solea

    Radu Solea
     
  • The clock driver may enable uart clock tree when earlycon/earlyprintk
    kernel param is enabled, and the clock gate specify CLK_SET_RATE_GATE,
    then .of_clk_set_defaults() set the dts node assigned-rate will be failed.
    So set parent and set rate in clock driver is reasonable.

    Signed-off-by: Fugang Duan

    Fugang Duan
     

19 Jun, 2017

2 commits


16 Jun, 2017

1 commit

  • iMX7D Sabre SD board implement the GPIO expander
    connected to a peripheral bus.
    Probe deferral would be triggered when try to request
    the expanded GPIO at the first time.
    pcie ep can't be probed properly at the second probe,
    because of the duplicated registration of the sysfs.

    Change the registeration point of the sysfs to fix
    this issue.

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

    Richard Zhu
     

14 Jun, 2017

10 commits

  • Fixes the following build errors:

    ERROR: "mipi_csi2_reset" [drivers/media/platform/mxc/capture/ov5640_camera_mipi_int.ko] undefined!
    ERROR: "mipi_csi2_set_datatype" [drivers/media/platform/mxc/capture/ov5640_camera_mipi_int.ko] undefined!
    ERROR: "mipi_csi2_enable" [drivers/media/platform/mxc/capture/ov5640_camera_mipi_int.ko] undefined!
    ERROR: "mipi_csi2_dphy_status" [drivers/media/platform/mxc/capture/ov5640_camera_mipi_int.ko] undefined!
    ERROR: "mipi_csi2_disable" [drivers/media/platform/mxc/capture/ov5640_camera_mipi_int.ko] undefined!
    ERROR: "mipi_csi2_set_lanes" [drivers/media/platform/mxc/capture/ov5640_camera_mipi_int.ko] undefined!
    ERROR: "mipi_csi2_get_status" [drivers/media/platform/mxc/capture/ov5640_camera_mipi_int.ko] undefined!
    ERROR: "mipi_csi2_get_info" [drivers/media/platform/mxc/capture/ov5640_camera_mipi_int.ko] undefined!
    ERROR: "mipi_csi2_get_error1" [drivers/media/platform/mxc/capture/ov5640_camera_mipi_int.ko] undefined!

    Signed-off-by: Octavian Purdila

    Octavian Purdila
     
  • When epdc driver use pxp, it didn't fill stride value of s0_parm, so it leads to
    epdc can display picture normally.

    So fill it in this patch.

    Signed-off-by: Guoniu.Zhou

    Guoniu.Zhou
     
  • This patch uses the resource-managed extcon API for extcon_register_notifier()
    and replaces the deprecated extcon API as following:
    - extcon_get_cable_state_() -> extcon_get_state()

    Signed-off-by: Chanwoo Choi
    Signed-off-by: Peter Chen
    (cherry picked from commit 3f991aa0b665c8e9bb702421a4e5005c3588fb62)

    Chanwoo Choi
     
  • We must check for ID/VBUS changes during resume irrespective
    of whether our device wakeup is enabled or not.

    Without this we seem to be missing ID/VBUS events after
    system suspend/resume.

    Signed-off-by: Roger Quadros
    Signed-off-by: Chanwoo Choi
    (cherry picked from commit 8680b4d1933fbe3349d51a4e1fd4513b12abffed)

    Roger Quadros
     
  • Whether the USB port as a wakeup source should be determined by user,
    but not enabled by default.

    Signed-off-by: Peter Chen
    Signed-off-by: Chanwoo Choi
    (cherry picked from commit 98fd079297dd274c15c926a337253675573c5832)

    Peter Chen
     
  • At some systems, the pinctrl setting will be lost or needs to
    set as "sleep" state to save power consumption. So, we need to
    configure pinctrl as "sleep" state when system enters suspend,
    and as "default" state after system resumes. In this way, the
    pinctrl value can be recovered as "default" state after resuming.

    Signed-off-by: Peter Chen
    Signed-off-by: Chanwoo Choi
    (cherry picked from commit bcb7440e76a96c8a244bd683142a38f7d5cecb93)

    Peter Chen
     
  • Driver can now work with both ID and VBUS pins or either one of
    them.

    There can be the following 3 cases

    1) Both ID and VBUS GPIOs are available:

    ID = LOW -> USB_HOST active, USB inactive
    ID = HIGH -> USB_HOST inactive, USB state is same as VBUS.

    2) Only ID GPIO is available:

    ID = LOW -> USB_HOST active, USB inactive
    ID = HIGH -> USB_HOST inactive, USB active

    3) Only VBUS GPIO is available:

    VBUS = LOW -> USB_HOST inactive, USB inactive
    VBUS = HIGH -> USB_HOST inactive, USB active

    Signed-off-by: Roger Quadros
    Reviewed-by: Peter Chen
    Signed-off-by: Chanwoo Choi
    (cherry picked from commit 541332a13b1ded42097ba96c52c7bc70931e528c)

    Roger Quadros
     
  • commit 916e43e1d6fb ("MLK-13570-3 usb: chipidea: core: change extcon
    usage for imx_4.1.y") is directly cherry-picked from 4.1.y, but which
    is not valid anymore on 4.y kernel, so revert most part and only keep
    the irq check after resume.

    Reviewed-by: Peter Chen
    Signed-off-by: Li Jun
    (cherry picked from commit 9e8e32042df9e0a43574cb222070ec2f1051007d)

    Li Jun
     
  • This reverts commit 4c7d332e3316 ("MLK-13638-3 extcon: usb-gpio: add
    pinctrl operation during system PM"). We will use the upstream version.

    Reviewed-by: Peter Chen
    Signed-off-by: Li Jun
    (cherry picked from commit bf584fcb7294cac67c67b552d7b347b6e59fe243)

    Li Jun
     
  • This reverts commit 358776f8c5d8 ("MLK-13912-1 extcon: ext-usb-gpio: do not
    enable wakeup by default"), we will use the upstream patch version.

    Reviewed-by: Peter Chen
    Signed-off-by: Li Jun
    (cherry picked from commit 72c6b1977e334c5fde2f394ce276ab42df76575f)

    Li Jun
     

09 Jun, 2017

3 commits

  • One codebase to support all graphics standards for imx chips,
    Optimized software pipeline for modern GPU benchmarks,
    Integrated more bug-fixings for critical gpu issues.

    Source repo: gpu-viv6
    Source branch: origin/imx_6.2.2
    Source commit: 8826fbc75269e7d26b0bf9c5e9a2b0110b295f9c

    Signed-off-by: Xianzhong

    Xianzhong
     
  • commit 3f0191b80cf1 ("MLK-14381 mmc: sdhci-esdhc-imx: reset tuning
    circuit when system resume") add tuning reset when the timing is
    MMC_TIMING_LEGACY/MMC_TIMING_MMC_HS/MMC_TIMING_SD_HS. For timing
    MMC_TIMING_MMC_HS, we can not do tuning reset, otherwise HS400
    timing is not right.

    Here is the process of config HS400, it do tuning in HS200 mode,
    then switch to HS mode and 8 bit DDR mode, finally switch to HS400
    mode. If we do tuning reset in HS mode, this will cause HS400 mode
    lost the tuning setting, which will cause CRC error.

    Signed-off-by: Haibo Chen
    (cherry picked from commit 25e7080552a8d681a83e6c328ef5dedf5132afbf)

    Haibo Chen
     
  • After soft reset, the irq register value will be zero, so we need set it to enable
    all pxp interrupts.

    Signed-off-by: Guoniu.Zhou

    Guoniu.Zhou