12 Feb, 2019

40 commits

  • support input data width with 8bit for m2m

    Signed-off-by: Shengjiu Wang

    Shengjiu Wang
     
  • Fix identation issue.

    Signed-off-by: Cosmin-Gabriel Samoila
    Reviewed-by: Shengjiu Wang

    Cosmin-Gabriel Samoila
     
  • The patch fixes the following build warnings:

    sound/soc/codecs/ak4458.c: In function ‘ak4458_hw_params’:
    warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
    u8 dfs1, dfs2;
    ^~~

    Signed-off-by: Jason Liu
    CC: Shengjiu Wang
    Acked-by: Shengjiu Wang

    Jason Liu
     
  • - Modify vpu decoder code for recording log info
    - adjust poll function
    - set module parameter for stream buffer size
    - minor tweaks on debug dump function dbglog_show( )

    Signed-off-by: Huang Chaofan

    Huang Chaofan
     
  • The commit ae97fd867aa3 ("MLK-19091 cfg80211: make phy index match
    after wiphy dev is released") manage wiphy_counter matching between
    creating and freeing wiphy device. Then for one wifi instance, the index
    of attached phy is not changed during loadable test. But it ignores
    multiple wifi cards loadable test case, that introduces the phy index
    confliction. So the patch revert the commit.

    Reviewed-by: Richard Zhu
    Signed-off-by: Fugang Duan

    Andy Duan
     
  • Add synaptics_dsx touch support for imx8mm ddr4 evk board.

    Signed-off-by: Haibo Chen

    Haibo Chen
     
  • Compare with imx6, the conversion of 8kHz 5channel to 176kHz is ok.
    And compare the output we found that about every 48K bytes, there will be
    additional data be added, which cause noise.

    In this case, there will be two sg_nodes, for the maxmum output size exceed
    the ASRC_MAX_BUFFER_SIZE, each size is ASRC_MAX_BUFFER_SIZE, it is 49152.
    the value can't be exact divided by channel * word_with * watermark = 40.
    So the EDMA can't finish the copy with correct size.

    There is limitation of EMDA described in commit 3519b67ac01c
    ("MLK-19151: ASoC: fsl_asrc: fix dma timeout issue for imx8qxp")

    EDMA just copy 49120 bytes, there will 32 bytes wrong data.

    According to this limitation, this commit is to change the maxburst to 1
    for EDMA case, then EDMA can do what we expect correctly.

    Signed-off-by: Shengjiu Wang

    Shengjiu Wang
     
  • This parameter is suggested by HW engineer, and can get better signal
    quality for eye diagram. It is for chipidea IP.

    Suggested-by: Kai Zhu
    Signed-off-by: Peter Chen

    Peter Chen
     
  • The older boards were reworked and newer boards have not this issue,
    so delete the comment.

    Signed-off-by: Peter Chen

    Peter Chen
     
  • Reserve 4KB memory at the GUEST_RAM0_BASE, this area will be used
    as a magic number area, U-Boot will write this area and XEN will
    check this area during U-Boot/Linux reseting/rebooting.

    Signed-off-by: Peng Fan
    Reviewed-by: Flynn xu

    Peng Fan
     
  • We are using SPI 33 for virtual PL031, but dom0 not passthrough
    the interrupt, so domu are not able to use this.

    In this patch also correct domu android car rtc node interrupts
    property.

    Signed-off-by: Peng Fan
    Reviewed-by: Flynn xu

    Peng Fan
     
  • Bit 21 can alter the CTRL2_OUTSTANDING_REQS value right after the eLCDIF
    is enabled, since it comes up with default value of 1.
    In order to fix this, clear CTRL2_OUTSTANDING_REQS bits before setting
    its value.

    Signed-off-by: Robert Chiras

    Robert Chiras
     
  • Now that there is a generic SCCG clock added, it can also
    be used by the DCSS. The HDMI_PHY_27M_CLK ref sel is hardcoded as parent
    to VIDEO_PLL2 in dts.

    Signed-off-by: Abel Vesa
    Reviewed-by: Laurentiu Palcu

    Abel Vesa
     
  • Make the entire combination of plls to be one single clock. The parents used
    for bypasses are specified each as an index in the parents list.
    The determine_rate does a lookup throughout all the possible combinations
    for all the divs and returns the best possible 'setup' which in turn is used
    by set_rate later to set up all the divs and bypasses.

    Signed-off-by: Abel Vesa

    Abel Vesa
     
  • Add QVGA @30fps support for ov5640

    Signed-off-by: Robby Cai

    Robby Cai
     
  • Add lock and check for vb2 buffer to ensure won't access invalid vb2
    buffer pointer

    Signed-off-by: Huang Chaofan

    Huang Chaofan
     
  • Update the panel driver to be in sync with the suggestion received from
    upstream review process.

    Signed-off-by: Robert Chiras

    Robert Chiras
     
  • Add helper functions backlight_enable and backlight_disable to
    enable/disable a backlight device. These helper functions can
    then be used by different drm and tinydrm drivers to avoid
    repetition of code and also to enforce a uniform and consistent
    way to enable/disable a backlight device.

    Acked-by: Daniel Thompson
    Reviewed-by: Noralf Trønnes
    Reviewed-by: Sean Paul
    Signed-off-by: Meghana Madhyastha
    Signed-off-by: Sean Paul
    Link: https://patchwork.freedesktop.org/patch/msgid/39b5bf0a02008a8072d910bdf8231c431e9ef504.1516810725.git.meghana.madhyastha@gmail.com

    Meghana Madhyastha
     
  • Android auto use sai0 for bluetooth phone audio output,
    so enable sai0 for android auto.

    Signed-off-by: Peng Fan

    Peng Fan
     
  • In TDM mode with Daisy Chain enabled (CPLD mode 0x04) DAC1 and DAC2
    AK4458 codecs on audio board are able to play 16 channels, so extend
    the TDM mode constraint to 16 channels.

    Signed-off-by: Viorel Suman

    Viorel Suman
     
  • Enable Daisy Chain if in TDM mode and the number of played
    channels is bigger than the maximum supported number of channels.

    Signed-off-by: Viorel Suman

    Viorel Suman
     
  • Fix memory out of bounds access.
    Change arry type for functopn avi info frame,
    Align the arry type and its length.

    Signed-off-by: Sandor Yu

    Sandor Yu
     
  • Fix several coverity issues, inlcudes
    - Unsigned compared against 0
    - Logically dead code
    - Unchecked retuen value
    - Dereference before null check

    Signed-off-by: ming_qian

    ming_qian
     
  • Fix several coverity issues, inlcudes
    - Use of untrusted scalar value
    - Value overwrite

    Signed-off-by: Zhou Peng

    Zhou Peng
     
  • Fix several coverity issues, inlcudes
    - Logically dead code
    - Use of untrusted scalar value
    - Value overwrite

    Signed-off-by: Zhou Peng

    Zhou Peng
     
  • If the input scatter gather table is wrongly built (no entries), the
    code will try to copy memory which is not allowed.

    Coverity Explanation:
    drivers/crypto/mxs-dcp.c:388: CID 5233058 (#1 of 1):
    Type: Out-of-bounds access (OVERRUN)
    Classification: Unclassified
    Severity: Unspecified
    Action: Modeling Required
    Owner: nxa21133
    First detected on 2018-10-16.
    drivers/crypto/mxs-dcp.c:297:
    1. alias: Assigning: "out_buf" = "sdcp->coh->aes_out_buf". "out_buf"
    now points to byte 0 of "sdcp->coh->aes_out_buf" (which consists of
    4096 bytes).
    drivers/crypto/mxs-dcp.c:301:
    2. assignment: Assigning: "last_out_len" = "0U".
    drivers/crypto/mxs-dcp.c:316:
    3. path: Condition "!rctx->ecb", taking true branch.
    drivers/crypto/mxs-dcp.c:321:
    4. path: Falling through to end of if statement.
    drivers/crypto/mxs-dcp.c:325:
    5. path: Condition "i < nents", taking false branch.
    drivers/crypto/mxs-dcp.c:386:
    6. path: Condition "!rctx->ecb", taking true branch.
    drivers/crypto/mxs-dcp.c:387:
    7. path: Condition "rctx->enc", taking true branch.
    drivers/crypto/mxs-dcp.c:388:
    8. overrun-buffer-arg: Overrunning buffer pointed to by "out_buf +
    (last_out_len - 16U)" of 4096 bytes by passing it to a function which
    accesses it at byte offset 4294967295 using argument "16U".

    Signed-off-by: Franck LENORMAND

    Franck LENORMAND
     
  • When building on a platform with a 32bit DMA address, taking the
    upper 32 bits makes no sense.

    Signed-off-by: Franck LENORMAND

    Franck LENORMAND
     
  • Some keyslot values were used during deallocation
    but were not initiliazed nor set properly.

    drivers/crypto/caam/sm_test.c:446: CID 3901091 (#1 of 1):
    Type: Uninitialized scalar variable (UNINIT)
    Classification: Unclassified
    Severity: Unspecified
    Action: Modeling Required
    Owner: nxa21133
    Defect only exists locally.
    drivers/crypto/caam/sm_test.c:98:
    1. var_decl: Declaring variable "keyslot24" without initializer.
    drivers/crypto/caam/sm_test.c:113:
    2. path: Condition "!ctrlpriv", taking false branch.
    drivers/crypto/caam/sm_test.c:118:
    3. path: Condition "kspriv == NULL", taking false branch.
    drivers/crypto/caam/sm_test.c:123:
    4. path: Condition "!units", taking false branch.
    drivers/crypto/caam/sm_test.c:130:
    5. path: Condition "units < 2", taking false branch.
    drivers/crypto/caam/sm_test.c:150:
    6. path: Condition "blob8 == NULL", taking false branch.
    drivers/crypto/caam/sm_test.c:150:
    7. path: Condition "blob16 == NULL", taking false branch.
    drivers/crypto/caam/sm_test.c:150:
    8. path: Condition "blob24 == NULL", taking false branch.
    drivers/crypto/caam/sm_test.c:150:
    9. path: Condition "blob32 == NULL", taking false branch.
    drivers/crypto/caam/sm_test.c:178:
    10. path: Condition "sm_keystore_slot_alloc(ksdev, unit,
    (16U /* (8 % 16) ? (8 >> 4) + 1 << 4 : 8 */), &keyslot8)", taking true
    branch.
    drivers/crypto/caam/sm_test.c:179:
    11. path: Jumping to label "dealloc".
    drivers/crypto/caam/sm_test.c:446:
    12. uninit_use_in_call: Using uninitialized value "keyslot24" when
    calling "sm_keystore_slot_dealloc".
    drivers/crypto/caam/sm_store.c:771:
    12.1. path: Condition "smpriv->slot_alloc == NULL", taking false branch.
    drivers/crypto/caam/sm_store.c:771:
    12.2. path: Condition "smpriv->pagedesc[unit].ksdata == NULL", taking
    false branch.
    drivers/crypto/caam/sm_store.c:775:
    12.3. read_parm: Reading a parameter value.

    drivers/crypto/caam/sm_test.c:445: CID 3901093 (#1 of 1):
    Type: Uninitialized scalar variable (UNINIT)
    Classification: Unclassified
    Severity: Unspecified
    Action: Modeling Required
    Owner: nxa21133
    Defect only exists locally.
    drivers/crypto/caam/sm_test.c:98:
    1. var_decl: Declaring variable "keyslot16" without initializer.
    drivers/crypto/caam/sm_test.c:113:
    2. path: Condition "!ctrlpriv", taking false branch.
    drivers/crypto/caam/sm_test.c:118:
    3. path: Condition "kspriv == NULL", taking false branch.
    drivers/crypto/caam/sm_test.c:123:
    4. path: Condition "!units", taking false branch.
    drivers/crypto/caam/sm_test.c:130:
    5. path: Condition "units < 2", taking false branch.
    drivers/crypto/caam/sm_test.c:150:
    6. path: Condition "blob8 == NULL", taking false branch.
    drivers/crypto/caam/sm_test.c:150:
    7. path: Condition "blob16 == NULL", taking false branch.
    drivers/crypto/caam/sm_test.c:150:
    8. path: Condition "blob24 == NULL", taking false branch.
    drivers/crypto/caam/sm_test.c:150:
    9. path: Condition "blob32 == NULL", taking false branch.
    drivers/crypto/caam/sm_test.c:178:
    10. path: Condition "sm_keystore_slot_alloc(ksdev, unit,
    (16U /* (8 % 16) ? (8 >> 4) + 1 << 4 : 8 */), &keyslot8)", taking true
    branch.
    drivers/crypto/caam/sm_test.c:179:
    11. path: Jumping to label "dealloc".
    drivers/crypto/caam/sm_test.c:445:
    12. uninit_use_in_call: Using uninitialized value "keyslot16" when
    calling "sm_keystore_slot_dealloc".
    drivers/crypto/caam/sm_store.c:771:
    12.1. path: Condition "smpriv->slot_alloc == NULL", taking false branch.
    drivers/crypto/caam/sm_store.c:771:
    12.2. path: Condition "smpriv->pagedesc[unit].ksdata == NULL", taking
    false branch.
    drivers/crypto/caam/sm_store.c:775:
    12.3. read_parm: Reading a parameter value.

    Signed-off-by: Franck LENORMAND
    Reviewed-by: Horia Geantă

    Franck LENORMAND
     
  • There was some code to free the keystore but the current
    state of the function make this code unreachable so
    remove it.

    Coverity explanation:
    drivers/crypto/caam/sm_store.c:654: CID 17839 (#1 of 1):
    Type: Logically dead code (DEADCODE)
    Classification: Bug
    Severity: Major
    Action: Fix Required
    Owner: nxa21133
    Defect only exists locally.
    drivers/crypto/caam/sm_store.c:625:
    cond_null: Condition "keystore_data == NULL", taking true branch. Now
    the value of "keystore_data" is "NULL".
    drivers/crypto/caam/sm_store.c:653:
    null: At condition "keystore_data != NULL", the value of "keystore_data"
    must be "NULL".
    drivers/crypto/caam/sm_store.c:653:
    dead_error_condition: The condition "keystore_data != NULL" cannot be
    true.
    drivers/crypto/caam/sm_store.c:654:
    dead_error_line: Execution cannot reach this statement:
    "kfree(keystore_data);".

    Signed-off-by: Franck LENORMAND

    Franck LENORMAND
     
  • Similar with QXP MEK we switch to ASRC to support
    multiple rates.

    Thus we introduce:
    - asrc clocks
    - make asrc PD depend on esai PD

    Reviewed-by: Cosmin-Gabriel Samoila
    Signed-off-by: Daniel Baluta

    Daniel Baluta
     
  • DCSS needs special display timings for MIPI-DSI panel in order to do a
    proper display on it.
    In order to not break other display controller using this panel, add
    custom display-timings for this specific use-case

    Signed-off-by: Robert Chiras
    Signed-off-by: Laurentiu Palcu

    Robert Chiras
     
  • This reverts commit 3c53532c466add234ac3ca2e70cefe80ea308b4f.

    This change affects iMX8MM functionality, generating flicker.

    Signed-off-by: Laurentiu Palcu

    Laurentiu Palcu
     
  • Configure 'FORCEBTA' mandatorily for every packet send may
    cause some packet send timeout in a low possibility. And
    until now, this timeout issue only happens during panel
    disable callback with the below error log:

    "
    imx_sec_dsim_drv 32e10000.mipi_dsi: wait pkthdr tx done time out
    panel-raydium-rm67191 32e10000.mipi_dsi.0: [drm:rad_panel_disable] *ERROR* Failed to enter sleep mode (-16)
    imx_sec_dsim_drv 32e10000.mipi_dsi: panel disable failed: -16
    panel-raydium-rm67191 32e10000.mipi_dsi.0: [drm:rad_panel_unprepare] *ERROR* Panel still enabled!
    imx_sec_dsim_drv 32e10000.mipi_dsi: panel unprepare failed: -1
    "

    The root cause for this error is not clear, but remove
    'FORCEBTA' can avoid it and won't cause any side effect.

    Signed-off-by: Fancy Fang

    Fancy Fang
     
  • The root cause of the on-the-fly switch from tile to linear fb switch issue
    is identified, so the full modeset workaround is no more needed.

    Patch "MLK-20506 gpu: imx: imx8_dprc: Set CROP_ULC_X/Y to be zero for linear fb"
    is the correct fix for this issue.

    Revert "MLK-20470 drm/imx: dpu: plane: Do full modeset for tile to linear fb switch"

    This reverts commit 9245bbf650fdeb79ebf869d48b6bd1b43c2bcf3b.

    Signed-off-by: Liu Ying

    Liu Ying
     
  • Nonzero CROP_ULC_X/Y are only valid for tile framebuffer cropping.
    Thus, we should set them to be zero for linear framebuffer, otherwise,
    an on-the-fly switch from tile framebuffer(with cropping enabled) to
    linear framebuffer would cause hardware malfunction.

    Signed-off-by: Liu Ying

    Liu Ying
     
  • For lpspi test, add these two features, use lpspi2 without cs-gpio.
    Still support spi-nor using lpspi0 with cs-gpio mode.

    - fsl-imx8dx.dtsi:
    Add node to support lpspi2.
    - fsl-imx8qxp-lpddr4-arm2-lpspi.dts:
    Add lpspi2 support for imx8qxp-lpddr4-arm2 board.
    - fsl-imx8qxp-lpddr4-arm2-lpspi-slave.dts:
    Enable spi slave mode for lpspi2.

    NOTE: lpspi2 of imx8qxp-lpddr4-arm2 uses the same pins with lpspi3 of
    imx8qm-lpddr4-arm2 on Base Board.

    Signed-off-by: Clark Wang

    Clark Wang
     
  • firmware commit patch:
    1. report uStrBuffWrPtr and uFrameSize
    2. don't append any eos nal

    driver do some change to adapt the firmware's change
    and use scnprintf instread of snprintf

    Signed-off-by: ming_qian

    ming_qian
     
  • - Since the l1ss is not enabled yet, configure
    the clkreq# as gpio on 8qm/qxp mek boards.
    Re-configure the clkreq# as input and open
    drain when l1ss is enabled later.
    - Correct the perst# configurations of 8qm.

    Signed-off-by: Richard Zhu

    Richard Zhu
     
  • start code

    Adjust update stream function for the format that need add start code

    Signed-off-by: Huang Chaofan

    Huang Chaofan
     
  • Correct the interrupt line for adv7535.

    Fixes: 0f43068a7028 ("Correct interrupts for adv7535")

    Signed-off-by: Fugang Duan
    Tested-by: Robert Chiras
    Acked-by: Fancy Fang

    Andy Duan