summaryrefslogtreecommitdiff
path: root/drivers/video/fbdev/msm (follow)
Commit message (Collapse)AuthorAge
...
| * Merge "mdss: msm: hdmi: fix CEC broadcast loopback issue"Linux Build Service Account2020-03-15
| |\
| | * mdss: msm: hdmi: fix CEC broadcast loopback issueVenkata Prahlad Valluru2020-03-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A new logical address is searched and allocated when HDMI hotplug interrupt happens. But there might be pending broadcast messages which are being handled with the old logical address, then the messages are received back again causing loopback issue. To fix this, abort CEC message sending if the message is broadcasting and the sender's logical address is different than the current logical address. Change-Id: I26c487bac8749c9de81b176d611f1263eab0d9ad Signed-off-by: Venkata Prahlad Valluru <vvalluru@codeaurora.org>
| | * mdss: msm: hdmi: use circular buffer for CEC rxVenkata Prahlad Valluru2020-03-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's only one CEC message buffer which could be overwritten if the next interrupt happens before the workthread reads the buffer. To resolve this, defined 4 circular buffers (practially 3 due to linux circular buffer limitation) to rotate the buffer. Since CEC is slow bus, 3 buffers should be enough to avoid potential message overwriting. Change-Id: I538c5902e95edb2231077c1c03a73f690ce68f1a Signed-off-by: Venkata Prahlad Valluru <vvalluru@codeaurora.org>
| | * mdss: msm: hdmi: add CEC clear_logical_addr sysnodeVenkata Prahlad Valluru2020-03-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the logical address is cleared, CEC hal sets the logical address to 15 but kernel cannot determine whether the logical address is cleared or set to 15. To clearly detect that the logical address is cleared, a new sysnode "clear_logical_addr" is added. If clear_logical_addr is set to 1, then kernel ignores received CEC messages until it's reset to 0. Change-Id: I517a3054c0816e774836767f3e0e47f92b395666 Signed-off-by: Venkata Prahlad Valluru <vvalluru@codeaurora.org>
| | * fbdev: msm: hdmi: read CEC msg before clearing interruptVenkata Prahlad Valluru2020-03-06
| | | | | | | | | | | | | | | | | | | | | Read CEC msg in ISR itself and then trigger work queue. Change-Id: Ib40e544849e3b3338a412b9fa5ba737bfc13dad9 Signed-off-by: Venkata Prahlad Valluru <vvalluru@codeaurora.org>
| * | msm: mdss: hdmi: reset deep_color before parsing EDIDNarender Ankam2020-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reset previous EDID's deep_color value before parsing new EDID. HDMI driver is already checking if sink supports deep color or not using hdmi_tx_sink_dc_support function. Remove dc_support check which is redundant. Change-Id: I7b95310ba6c7451a86ba7a536a6d59b7f0c98edd Signed-off-by: Narender Ankam <nankam@codeaurora.org> Signed-off-by: Ramendra Kumar <ramendra@codeaurora.org>
| * | msm: mdss: mdp: update CDM CSC coefficients during HDR playbackNarender Ankam2020-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On HDR playback, update CDM CSC coefficients from Rec709 to BT2020, so that RGB will be converted to YUV444 and then to YUV420 in BT2020 colorspace. Once HDR playback is done, reset CDM CSC coefficients to default Rec709 values. Change-Id: Ib3ab4fb61fc3392d76cf138cc4a20d4bc55ed016 Signed-off-by: Narender Ankam <nankam@codeaurora.org> Signed-off-by: Ramendra Kumar <ramendra@codeaurora.org>
| * | msm: mdss: hdmi: update colorimetry in AVI infoframeNarender Ankam2020-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On HDR stream playback, if sink supports BT2020 standard, update colorimetry info of AVI infoframe to BT2020 standard. On completion of HDR playback, update colorimetry back to default value in AVI infoframe. Change-Id: Icaa314a95d1a27e41bb85d02de4a3ad8bcf79212 Signed-off-by: Narender Ankam <nankam@codeaurora.org> Signed-off-by: Ramendra Kumar <ramendra@codeaurora.org>
| * | msm: mdss: hdmi: parse E-EDID's COLORIMETRY data blockNarender Ankam2020-03-03
| | | | | | | | | | | | | | | | | | | | | | | | As part of EDID parser, parse E-EDID's COLORIMETRY data block. Change-Id: I37fb2a436e5c2520b3e0d0c7411047514aecfbcf Signed-off-by: Narender Ankam <nankam@codeaurora.org> Signed-off-by: Ramendra Kumar <ramendra@codeaurora.org>
| * | msm: mdss: hdmi: modify min_enc_level logicNarender Ankam2020-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now display HAL will call hdcp library's min_enc_level sysfs entry instead of hdcp2p2's min_enc_level sysfs entry. This will make sure hdcp lib to have better control on content type transmission. hdcp lib will notify hdcp2p2 driver regarding new encryption level. Change-Id: Ibf3c51f7f8ad7db2520a434308361c31379c4948 Signed-off-by: Narender Ankam <nankam@codeaurora.org> Signed-off-by: Ramendra Kumar <ramendra@codeaurora.org>
| * | msm: mdss: edid: conditionally set rgb_support for Y420 EDID modesNarender Ankam2020-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As part of Y420VDB, an EDID mode might have been already added to the mode_list supporting only Y420 sampling mode. And later while parsing VDB block, for such EDID modes, set rgb_support flag only if its TMDS clock is within max TMDS clock. Change-Id: Ieaa9e0fc82d1fd81f8ea07829da6c1b32ef6018a Signed-off-by: Narender Ankam <nankam@codeaurora.org> Signed-off-by: Ramendra Kumar <ramendra@codeaurora.org>
| * | msm: mdss: hdmi: validate EDID modes against max refresh rateVenkata Prahlad Valluru2020-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | Do not support EDID's DTD modes whose refresh rate is greater than max supported refresh rate. Change-Id: I9e5e5367d38b482fff210d35cad89455656d33fe Signed-off-by: Venkata Prahlad Valluru <vvalluru@codeaurora.org> Signed-off-by: Ramendra Kumar <ramendra@codeaurora.org>
| * | msm: mdss: hdmi: set the output bitdepthNarender Ankam2020-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | Maintain the correct output bit depth value if HDMI driver is enabling HDMI output with deep color. Change-Id: I8bf39fe2471c4857f54540235543ae74283bccf4 Signed-off-by: Narender Ankam <nankam@codeaurora.org> Signed-off-by: Ramendra Kumar <ramendra@codeaurora.org>
| * | msm: mdss: edid: modify the extended data block's length checkNarender Ankam2020-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | EDID parser is validating the minimum length of Extended data blocks before parsing them. Current minimum length is 2 bytes but some extended data block like Y420CMDB's length can be 1 data byte. Modify the minimum length to 1 data byte. Change-Id: Iecbfbfa216160a93101a8051cd1ddef5c0426e77 Signed-off-by: Narender Ankam <nankam@codeaurora.org> Signed-off-by: Ramendra Kumar <ramendra@codeaurora.org>
| * | msm: mdss: hdmi: handle wake_irq on suspend/resumeNarender Ankam2020-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enable wake_irq on device suspend to receive CEC/HPD interrupts when device is in deep suspend state. Disable wake_irq on device resume. Change-Id: I058b4354c1690e23243107310bf9e3563cf2c16e Signed-off-by: Narender Ankam <nankam@codeaurora.org> Signed-off-by: Ramendra Kumar <ramendra@codeaurora.org>
| * | msm: mdss: hdmi: handle HPD disconnect event during suspendNarender Ankam2020-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On device suspend, HDMI fb node is powered down. If HDMI cable is now disconnected in suspend state, even though DISCONNECT event is notified to display HAL to close HDMI fb node, fb driver early returns since this fb node is already powered off. As a result, HPD polarity is never configured to detect HPD high (connect) and no subsequent HPD connections will be ever detected. So on receiving HPD Disconnect event, configure HPD polarity to detect HPD High if HDMI panel is already powered off. Also make sure no HPD event is notified if same event is already notified and waiting for completion. Change-Id: I839b07f39eb5c2c24c249260cb482ae39b9bc771 Signed-off-by: Narender Ankam <nankam@codeaurora.org>
| * | msm: mdss: hdmi: set colorimetry info in AVI infoframeNarender Ankam2020-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | If output colorspace is YCbCr, set colorimetry information as per vertical active line count. Change-Id: Id615bfbe979cb4fe7ffe8f31d29aae9299d480b6 Signed-off-by: Narender Ankam <nankam@codeaurora.org> Signed-off-by: Ramendra Kumar <ramendra@codeaurora.org>
| * | msm: mdss: hdmi: set quantization range in AVI infoframeNarender Ankam2020-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CE video formats are encoded using Limited Range levels and IT video formats are encoded using Full Range levels. Set RGB and YCbCr Quantization levels information in AVI infoframe to Limited or Full Range levels based on CE or IT video format. Change-Id: Iff03af7f6b733d57625338b5d6edd7467bd2612c Signed-off-by: Narender Ankam <nankam@codeaurora.org> Signed-off-by: Ramendra Kumar <ramendra@codeaurora.org>
| * | msm: mdss: mdp: configure CSC_10 to set correct quantization rangeNarender Ankam2020-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For external HDMI display, as per CEA-861 spec, any CE video format shall be encoded either in RGB or YCbCr using Limited Range levels. And any IT video format shall be encoded in RGB using Full Range levels. Add 8bit and 10bit CSC config parameters for missing YCbCr_709_FR and RGB_L colorspaces and use MDP_CDM_0 module to set RGB or YCbCr quantization range levels for a CE or IT video format accordingly. Change-Id: Icecfdf0d1d49e17672df2360933d33a48d485892 Signed-off-by: Narender Ankam <nankam@codeaurora.org> Signed-off-by: Ramendra Kumar <ramendra@codeaurora.org>
| * | msm: mdss: hdmi: check if given resolution is CE video formatNarender Ankam2020-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As per CEA-861 spec, any standard resolution ranging from VIC=2 to VIC=107 are CE video formats. All other non standard resolutions and VIC=1 (640x480p) are IT video formats. Check if the output video format timing is a CE video format or an IT video format. Change-Id: I26405e1cb77a89ea81acb633ee2475021d61f116 Signed-off-by: Narender Ankam <nankam@codeaurora.org> Signed-off-by: Ramendra Kumar <ramendra@codeaurora.org>
| * | msm: mdss: hdcp: read V' only for non-zero device count repeaterNarender Ankam2020-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For repeaters having zero device count, the HDCP CTS expects the device under test to either read V' and perform full authentication or not read V' and re-authenticate. Current HDCP driver reads V' and also re-authenticates causing a failure of zero device count repeater test cases. Fix this issue by implementing the correct sequence in case of zero downstream devices. Change-Id: I8f9980196c46c7f9bea56501e1f047e58dfb091d Signed-off-by: Narender Ankam <nankam@codeaurora.org> Signed-off-by: Ramendra Kumar <ramendra@codeaurora.org>
| * | msm: mdss: hdmi: set max tmds clock rate correctlyNarender Ankam2020-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While parsing HDMI 1.4 VSDB or HDMI Forum VSDB, set max tmds clock rate only if respective byte is a non zero value. Change-Id: I07b51156038c8b8914f6f1fc1527eaad8a99d7a1 Signed-off-by: Narender Ankam <nankam@codeaurora.org> Signed-off-by: Ramendra Kumar <ramendra@codeaurora.org>
| * | msm: mdss: fb: fix panel reconfiguration check for format changeVenkata Prahlad Valluru2020-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | Previously output_format is not updated. Update the new output_format in panel_info. Change-Id: I8ee76a9fabb5d2a9aa93d5c14deeeef9b26ba78b Signed-off-by: Venkata Prahlad Valluru <vvalluru@codeaurora.org> Signed-off-by: Ramendra Kumar <ramendra@codeaurora.org>
| * | msm: mdss: mdp: do null commit during panel reconfigurationVenkata Prahlad Valluru2020-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If panel reconfiguration is triggered during splash handoff, splash cleanup will be called before any commit. This will cause control path reset due to no bandwidth votes. Add null commit during splash cleanup in case of panel reconfiguration. Change-Id: If500fdfb3913726d4d8462d38c200797256b4f46 Signed-off-by: Venkata Prahlad Valluru <vvalluru@codeaurora.org> Signed-off-by: Ramendra Kumar <ramendra@codeaurora.org>
| * | msm: mdss: hdmi: modify HPD polarity change setupNarender Ankam2020-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If HDMI cable is disconnected before changing HPD polarity to detect disconnection, HDMI HW is unable to detect HPD change thus no HPD disconnection interrupt is being triggered. Change the HPD polarity to detect disconnection right after receiving HPD connection event. Also synchronize the HPD event notifications to display HAL. Change-Id: I0c46907cefa6a2ef328c546921e5d98a7bd4c6fd Signed-off-by: Narender Ankam <nankam@codeaurora.org> Signed-off-by: Ramendra Kumar <ramendra@codeaurora.org>
| * | msm: mdss: hdmi: check HDMI 1.4 VSDB lengthNarender Ankam2020-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | HDMI 1.4 Vendor Specific data block length can vary from minimum 5 bytes to maximum 31 bytes. Always check the extension field bytes against the max length of this data block. Also check if this data block is an HDMI 1.4 VSDB before parsing extension bytes. Change-Id: I1b89f12334d44ce9ef49b440c81a0a7f8ee1fe6c Signed-off-by: Narender Ankam <nankam@codeaurora.org> Signed-off-by: Ramendra Kumar <ramendra@codeaurora.org>
| * | msm: mdss: hdmi: set max TMDS clock rateNarender Ankam2020-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pxl clock frequency of every video timing parsed from EDID is being checked against max TMDS clock rate supported by HDMI controller without considering HDMI Sink's max TMDS clock rate. HDMI Sink's max TMDS clock rate will be indicated in HDMI 1.4 VSDB or HDMI Forum VSDB if available. Set the minimum of HDMI controller's and HDMI Sink's max TMDS clock rate and then check if video timings are supported or not. Change-Id: I9668f77edebc5de16d24e9892ba06f9f64f0f743 Signed-off-by: Narender Ankam <nankam@codeaurora.org> Signed-off-by: Ramendra Kumar <ramendra@codeaurora.org>
| * | msm: mdss: hdmi: fix parsing Y420CMDB block of EDIDNarender Ankam2020-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | YCbCr 4:2:0 Capability Map Data Block (Y420CMDB) indicates exactly which SVDs listed in Video Data Block also support YCbCr 4:2:0 sampling mode in addition to RGB mode. But this data block is being parsed before SVDs are parsed where the SVD list is NULL. So, as part of Y420CMDB parsing, for now store the SVD list supporting Y420 mode and later add Y420 support to the SVDs while parsing Video Data Block. Change-Id: I96f522663de8c847f3b146003e68801ae7d22bd5 Signed-off-by: Narender Ankam <nankam@codeaurora.org> Signed-off-by: Ramendra Kumar <ramendra@codeaurora.org>
| * | msm: mdss: hdmi: override default resolution after parsing EDIDNarender Ankam2020-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | HDMI driver registers fb device with default resolution. This default resolution is being added to the list of supported modes. But there is a chance that this default resolution may not be supported by downstream HDMI sink device. So, always override the default resolution with first supported mode parsed from EDID. Change-Id: I5d4ad735f2e0f5bef9582f19e479b0db43623b25 Signed-off-by: Narender Ankam <nankam@codeaurora.org> Signed-off-by: Ramendra Kumar <ramendra@codeaurora.org>
| * | msm: mdss: hdmi: fix HDMI panel reconfiguration issueNarender Ankam2020-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New video timing's VIC value is compared against previously configured HDMI controller's VIC value. If both the VICs are same (though their video timing parameters are different), MDSS skips reconfiguration. Reset HDMI controller's VIC value for every cable connection so that MDSS can reconfigure the panel with new video timing. Change-Id: I3d26669f8853c4b84e5be2c4a26931f299daa8c5 Signed-off-by: Narender Ankam <nankam@codeaurora.org> Signed-off-by: Ramendra Kumar <ramendra@codeaurora.org>
| * | msm: mdss: hdmi: fix handoff if deep color is supported by TVVenkata Prahlad Valluru2020-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | Since bootloader doesn't support deep color, do panel reconfig during handoff. Change-Id: I878b17385a1e3aa50735361fbc404088af4d3eb4 Signed-off-by: Venkata Prahlad Valluru <vvalluru@codeaurora.org> Signed-off-by: Ramendra Kumar <ramendra@codeaurora.org>
| * | msm: mdss: hdmi: support only progressive DTDsNarender Ankam2020-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | Do not support interlaced timings while parsing EDID DTDs. Change-Id: I9ef6e820a49224fbf3bd6373c6722ce44f4bd3c9 Signed-off-by: Narender Ankam <nankam@codeaurora.org> Signed-off-by: Ramendra Kumar <ramendra@codeaurora.org>
| * | fbdev: msm: check for hdmi as primaryraghavendra ambadas2020-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | skip pan display operation if found hdmi as primary and handoff is pending. This check will help pan display path to execute for primary display in recovery mode. Change-Id: Iedd7e6b98f62d3a0d5b9cdda4ba4591ed8bfac68 Signed-off-by: Raghavendra Ambadas <rambad@codeaurora.org> Signed-off-by: Ramendra Kumar <ramendra@codeaurora.org>
| * | msm: mdss: hdmi: parse extended EDID block mapNarender Ankam2020-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As part of EDID parser, add support to parse extended EDID Block Map (0xf0) block and parse all subsequent CEA (0x02) extended EDID Blocks. Change-Id: I581efae59dde3abf6f297d5a2519ac0088554b64 Signed-off-by: Narender Ankam <nankam@codeaurora.org> Signed-off-by: Ramendra Kumar <ramendra@codeaurora.org>
| * | msm: mdss: hdmi: reset sink_caps before parsing EDIDNarender Ankam2020-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Within EDID parser's data structure, sink_caps of previous EDID are being retained. Reset sink_caps before parsing new EDID. Change-Id: I7927161256ec87ab77b26a9d7bc5e0cd1df5583b Signed-off-by: Narender Ankam <nankam@codeaurora.org> Signed-off-by: Ramendra Kumar <ramendra@codeaurora.org>
| * | msm: mdss: hdmi: skip pan_display during handoffVenkata Prahlad Valluru2020-03-02
| |/ | | | | | | | | | | | | | | | | In case of HDMI as primary, skip pan_display until handoff completes. Change-Id: I5af8142292bcac0f085fffab1af99f635d3ff304 Signed-off-by: Venkata Prahlad Valluru <vvalluru@codeaurora.org> Signed-off-by: Ramendra Kumar <ramendra@codeaurora.org>
| * msm: mdss: mdp: fix parsing total number of displaysVenkata Prahlad Valluru2020-01-27
| | | | | | | | | | | | | | | | Interpret each interface of INTF_SEL register as 1 instead of respective byte value. Change-Id: I475d9d7770ccfb444264d872f7b279b518e6c1b3 Signed-off-by: Venkata Prahlad Valluru <vvalluru@codeaurora.org>
* | msm: mdss: Remove unnecessary parentheses in is_valid_calib_dspp_addrNathan Chancellor2020-02-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clang warns: ../drivers/video/fbdev/msm/mdss_mdp_pp.c:6923:19: warning: equality comparison with extraneous parentheses [-Wparentheses-equality] } else if ((ptr == base + MDSS_MDP_REG_DSPP_DITHER_DEPTH)) { ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../drivers/video/fbdev/msm/mdss_mdp_pp.c:6923:19: note: remove extraneous parentheses around the comparison to silence this warning } else if ((ptr == base + MDSS_MDP_REG_DSPP_DITHER_DEPTH)) { ~ ^ ~ ../drivers/video/fbdev/msm/mdss_mdp_pp.c:6923:19: note: use '=' to turn this equality comparison into an assignment } else if ((ptr == base + MDSS_MDP_REG_DSPP_DITHER_DEPTH)) { ^~ = Fixes: 94d860d801b8 ("msm: mdss: Support post processing blocks address access") Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
* | msm: mdss: Remove pointless NULL check in pp_ad_calc_blNathan Chancellor2020-02-02
| | | | | | | | | | | | | | | | | | | | | | | | | | Clang warns: ../drivers/video/fbdev/msm/mdss_mdp_pp.c:3372:8: warning: address of array 'ad->bl_att_lut' will always evaluate to 'true' [-Wpointer-bool-conversion] !ad->bl_att_lut) { ~~~~~^~~~~~~~~~ Fixes: 0e2fd71526fb ("msm: mdss: Upgrade and fix AD implementation") Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
* | msm: mdss: Remove unnecessary parentheses in mdss_check_dsi_ctrl_statusNathan Chancellor2020-02-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clang warns: ../drivers/video/fbdev/msm/dsi_status_6g.c:171:44: warning: equality comparison with extraneous parentheses [-Wparentheses-equality] if ((pstatus_data->mfd->panel_power_state == MDSS_PANEL_POWER_ON)) { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ../drivers/video/fbdev/msm/dsi_status_6g.c:171:44: note: remove extraneous parentheses around the comparison to silence this warning if ((pstatus_data->mfd->panel_power_state == MDSS_PANEL_POWER_ON)) { ~ ^ ~ ../drivers/video/fbdev/msm/dsi_status_6g.c:171:44: note: use '=' to turn this equality comparison into an assignment if ((pstatus_data->mfd->panel_power_state == MDSS_PANEL_POWER_ON)) { ^~ = 1 warning generated. Fixes: b9095befda98 ("msm: mdss: add support for different panel power states") Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
* | msm: mdss: fix inconsistent mutex_lockDavid Lin2019-12-23
| | | | | | | | | | | | | | | | | | drivers/video/fbdev/msm/mdss_mdp_splash_logo.c:480 mdss_mdp_splash_kickoff() warn: inconsistent returns 'mutex:&mdp5_data->ov_lock' Change-Id: I3e97f80ff562bb0b260adeff733e78af1a8f1e67 Signed-off-by: David Lin <dtwlin@google.com>
* | msm: mdss: fix inconsistent mutex_lockDavid Lin2019-12-23
| | | | | | | | | | | | | | | | drivers/video/fbdev/msm/mdss_mdp_pp.c:4093 mdss_mdp_igc_lut_config() warn: inconsistent returns 'mutex:&mdss_pp_mutex' Change-Id: I956017162cde27fbaa3da5aeb28b76ec7308530e Signed-off-by: David Lin <dtwlin@google.com>
* | msm: mdss: fix inconsistent mutex_lockDavid Lin2019-12-23
|/ | | | | | | | | drivers/video/fbdev/msm/mdss_mdp_overlay.c:5280 __handle_overlay_prepare() warn: inconsistent returns 'mutex:&mdp5_data->ov_lock' Change-Id: Iac6acb5fb84331949637258a55733b8be94690eb Signed-off-by: David Lin <dtwlin@google.com>
* fbdev: msm: Avoid UAF in mdss_dsi_cmd_writeNirmal Abraham2019-10-15
| | | | | | | | | | | | In mdss_dsi_cmd_write, a failure in copying the cmds to 'string_buf' can cause an early return. In this case, the 'pcmds->string_buf' won't be pointing to a valid buffer. This can lead to use-after-free and memory leak. To avoid this, assign the newly allocated buffer to 'pcmds->string_buf' after returning from krealloc call. Change-Id: I286f12c86078d1989cb09453c8a395a4ad94b324 Signed-off-by: Nirmal Abraham <nabrah@codeaurora.org>
* Merge "msm: mdss: hdmi: adjust HDMI DDC speed configuration"Linux Build Service Account2019-08-08
|\
| * msm: mdss: hdmi: adjust HDMI DDC speed configurationNarender Ankam2019-07-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | HDMI 2.0 compliance E-DDC test requires the DDC signal timings to meet a minimum threshold to pass the compliance test. Current DDC settings were not matching the requirement. Adjust the DDC settings to meet the threshold and also make sure to leave the remaining bits of DDC speed register untouched. Change-Id: I9a33ba38baa8be94dee5447e79ad0a3a2a0bc8be Signed-off-by: Narender Ankam <nankam@codeaurora.org>
* | Merge "msm: mdss: hdcp: handle hdcp off gracefully"Linux Build Service Account2019-08-08
|\ \
| * | msm: mdss: hdcp: handle hdcp off gracefullyNarender Ankam2019-07-17
| | | | | | | | | | | | | | | | | | | | | | | | As part of turning off HDCP, set HDCP status to INACTIVE and cancel all pending works. Change-Id: I38bcab2ec2ecbe7a825fe193d161073c4266fdc2 Signed-off-by: Narender Ankam <nankam@codeaurora.org>
* | | Merge "fbdev: msm: Call vsync_handler only after ctl start"Linux Build Service Account2019-08-05
|\ \ \
| * | | fbdev: msm: Call vsync_handler only after ctl startNirmal Abraham2019-08-01
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | In hdmi-as-primary usecase with resolution change, the vsync_handler can get called from overlay_on function before the vsync handler is registered via ctl_start. Add a check to avoid the null ptr access while accessing the vsync handler function ptr in this case. Change-Id: Ic47b10502939c4a4751c78da1f8fe28b3005cf3b Signed-off-by: Nirmal Abraham <nabrah@codeaurora.org>