Received: by 2002:a05:6358:9144:b0:117:f937:c515 with SMTP id r4csp6264936rwr; Mon, 24 Apr 2023 17:04:55 -0700 (PDT) X-Google-Smtp-Source: AKy350ZnNkFFv9YcLYtJtvnt+DKtWpVHFumMcnUpxPldiC0eizTQfGUOuQyDnizeZJQ+5NKY01D9 X-Received: by 2002:a05:6a20:a11b:b0:f5:83f:9b88 with SMTP id q27-20020a056a20a11b00b000f5083f9b88mr7427768pzk.9.1682381094734; Mon, 24 Apr 2023 17:04:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1682381094; cv=none; d=google.com; s=arc-20160816; b=pUOpsPB7ECof8wVAkTSM9/mMelHnmc9X5GbASNDL77+Zs1JVQbdRcxH4yh2QcW3B9q HiRs/sUa62opWEPmI0pJf6wXYR0u5/MpgYabxakIv/hrtxlosRam44t2vfhzWWYxsuy9 nNX6o4dqa7tQtKRtZlRTpIFtVid1fwRLAAv+wizwRwa/AiYUAbnDs7ssk+S0745OyAhE +C+R2HXNJZB6Roncd4TRUzNZz9Y7TdUrsVelQ4J9lx10UPHsPWsKsT0OW4vRfAQcbWz9 3l6Giq/sDBLHHedkwuiVWbPP8vP/e2IyHMeO8byLunLn2NWdXQJYM2pyOOhoOhgDLUsO KBxw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id:dkim-signature; bh=XOuPTQqVYLGt6MIcEsKm3DoLRndaItFX8Fvq2OFFIek=; b=nb3hk52U1jA6q4PJyszPZ2Wo5JAe2k3cpaxk083mxJMiCF6Mp9dMaOpXwBB4WJCplp JtAk9uIT/uC3VyvxSqiOWIxhgCmygSpacNIMFNDZJ5R8oGo7OvYDqdvoCXZVJQZ1q/Rg X8MBiRTXpq62akNwu9oRQbRR2ddk8OMzKYJrUXcY8GjzNjalpIVJqWOG/eG0eJaUhGt2 ZeEkyBF8En78kvHBNJeFxctHtxiAkKz0MFXqsUOOJy+08fzZq4gxVHFE4GTcHE+oZI1X zunEsUo3Vx8b58oD6DFM/qLwEbZNIeftnBLAvyLitDjY/kLL5udxWmWRn0BDxEq8vu3P wetQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=SGu2MmHt; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id c26-20020a6566da000000b005186bbfb286si12209926pgw.308.2023.04.24.17.04.27; Mon, 24 Apr 2023 17:04:54 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=SGu2MmHt; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232617AbjDYAA4 (ORCPT + 99 others); Mon, 24 Apr 2023 20:00:56 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35124 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232173AbjDYAAp (ORCPT ); Mon, 24 Apr 2023 20:00:45 -0400 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AEFBC526A; Mon, 24 Apr 2023 17:00:43 -0700 (PDT) Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 33ONm9E7012584; Mon, 24 Apr 2023 23:59:39 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=message-id : date : mime-version : subject : to : cc : references : from : in-reply-to : content-type : content-transfer-encoding; s=qcppdkim1; bh=XOuPTQqVYLGt6MIcEsKm3DoLRndaItFX8Fvq2OFFIek=; b=SGu2MmHtIiYvo5rv5z0aWVVjF6xEwfKA8qke4O+j61JAb7NBD+9sPoMD83/ADafEtpug vTcX+vEKbQDPDm0fotbPI4lccIWEQAWHn6jB1am60EJpK3PUy8AOnETngTzL0MS1blDS 0kH4xVEX4O1AXcqOXOMbdje0Ks36uUbRGpbA50I3DjApJ22S+ziNyBq1UmSA33OL7L+1 yUV3g4pkS8kEpF9i3jelwJ+UkwoLpt+GFUQSP2DUqjz2wjC6BiZTE/noSCzIbF1cxP6d 4N0lHRY1gfNWY0I23JydyKAH0bHES/QaxINDDKJKSjRFeoEkbnjB7JFLmGdD21MfQqsP Rw== Received: from nalasppmta01.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3q5ndpsyad-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 24 Apr 2023 23:59:39 +0000 Received: from nalasex01a.na.qualcomm.com (nalasex01a.na.qualcomm.com [10.47.209.196]) by NALASPPMTA01.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 33ONxc2Y029833 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 24 Apr 2023 23:59:38 GMT Received: from [10.110.104.134] (10.80.80.8) by nalasex01a.na.qualcomm.com (10.47.209.196) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.42; Mon, 24 Apr 2023 16:59:36 -0700 Message-ID: Date: Mon, 24 Apr 2023 16:59:35 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.6.2 Subject: Re: [PATCH v2 00/17] drm/msm/dpu: Implement tearcheck support on INTF block Content-Language: en-US To: Marijn Suijten , Rob Clark , Dmitry Baryshkov , "Sean Paul" , David Airlie , Daniel Vetter , Adam Skladowski , Loic Poulain , Bjorn Andersson , "Kuogee Hsieh" , Robert Foss , Vinod Koul , Rajesh Yadav , Jeykumar Sankaran , Neil Armstrong , "Chandan Uddaraju" , Jessica Zhang CC: <~postmarketos/upstreaming@lists.sr.ht>, AngeloGioacchino Del Regno , Konrad Dybcio , Martin Botka , "Jami Kettunen" , , , , , Jordan Crouse , Archit Taneja , Sravanthi Kollukuduru , Konrad Dybcio References: <20230411-dpu-intf-te-v2-0-ef76c877eb97@somainline.org> From: Abhinav Kumar In-Reply-To: <20230411-dpu-intf-te-v2-0-ef76c877eb97@somainline.org> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To nalasex01a.na.qualcomm.com (10.47.209.196) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-GUID: nzl_SceR97venAl7wLWHIvS0V7kEwc9_ X-Proofpoint-ORIG-GUID: nzl_SceR97venAl7wLWHIvS0V7kEwc9_ X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-04-24_11,2023-04-21_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 suspectscore=0 adultscore=0 phishscore=0 impostorscore=0 spamscore=0 mlxlogscore=999 mlxscore=0 bulkscore=0 clxscore=1015 priorityscore=1501 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2304240218 X-Spam-Status: No, score=-4.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A,RCVD_IN_DNSWL_LOW, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 4/17/2023 1:21 PM, Marijn Suijten wrote: > Since DPU 5.0.0 the TEARCHECK registers and interrupts moved out of the > PINGPONG block and into the INTF. Implement the necessary callbacks in > the INTF block, and use these callbacks together with the INTF_TEAR > interrupts. Additionally, disable previous register writes and remove > unused interrupts in the PINGPONG and MDP_TOP blocks for these newer > platforms. > > With these patches the devices on DPU >= 5.0.0 listed below now update > their panels at 60fps without tearing (nor sluggishness), and without > repeated timeouts in dmesg. > > Tested on the following devices with command-mode panels and TE pins: > > - Sony Xperia XZ3 (sdm845, DPU 4.0.0, cmdmode panel): no regressions on > PINGPONG TE; > - Sony Xperia 5 (sm8150, DPU 5.0.0); > - Sony Xperia 10 II (sm6125, DPU 5.0.4). > > --- I will pickup the fixes from this one and for the rest, since jessica has been rebasing the DSC 1.2 over DSI on top of this series since the RFC stage, will let her review and test this out and we can pick up the rest for 6.5 So please keep her CCed on the next revisions of this if there are more. > Changes in v2: > - Rebase on -next with all the new SC8280XP and SM8[345]50 support; > - Remove duplicate PP_BLK_TE macro now that .features is an argument; > - Fix PP_BLK_DIPHER -> DITHER typo that was added recently; > - Add INTF_TEAR interrupt blocks for DPU 7.0.0 (moved to different > register range); > - Describe INTF_TEAR support for the newly added SM8350, SM8450, > SM8550 and SC8280XP SoCs; > - Remove TE2 subblocks from 8[34]50 and sc8280xp (new patch); > - Rebase on -next with DPU catalog rework; > - Remove dpu_hw_intf_v1_get_status which was inlined in the original > dpu_hw_intf_get_status function in e3969eadc8ee ("drm/msm/disp/dpu: > get timing engine status from intf status register"); > - Many changes to move all catalog edits to separate files; > - Add documentation for DPU_MDP_VSYNC_SEL; > - Fix sdm8150_mdp typo, should be sm8150_mdp; > - Move unrelated INTF_INTR offsets out of hwio header (new patch); > - Remove _reg argument from INTF_BLK, since we now have a third > interrupt with a different base register. To prevent confusion all > three interrupts should provide the final value from DPU_IRQ_IDX > directly. > - Only request the new tear_rd_ptr in a new INTF_BLK_DSI_TE macro; > - Drop stray INTF_MISR_SIGNATURE register definition; > - Clean up registers in dpu_hw_intf.c (many new patches); > - merged setup_tearcheck() and enable_tearcheck() callbacks; > - replaced enable_tearcheck(false) with new disable_tearcheck() > callback; > - Moved dpu_encoder_phys_cmd_enable_te intestines (just autorefresh > disablement) to INTF and PP block, replacing 3 callbacks in both > blocks with just a single disable_autorefresh() callback. > > v1: https://lore.kernel.org/r/20221231215006.211860-1-marijn.suijten@somainline.org > > --- > Konrad Dybcio (1): > drm/msm/dpu: Move dpu_hw_{tear_check,pp_vsync_info} to dpu_hw_mdss.h > > Marijn Suijten (16): > drm/msm/dpu: Remove unused INTF0 interrupt mask from SM6115/QCM2290 > drm/msm/dpu: Remove TE2 block and feature from DPU >= 7.0.0 hardware > drm/msm/dpu: Move non-MDP_TOP INTF_INTR offsets out of hwio header > drm/msm/dpu: Fix PP_BLK_DIPHER -> DITHER typo > drm/msm/dpu: Remove duplicate register defines from INTF > drm/msm/dpu: Remove extraneous register define indentation > drm/msm/dpu: Sort INTF registers numerically > drm/msm/dpu: Drop unused poll_timeout_wr_ptr PINGPONG callback > drm/msm/dpu: Move autorefresh disable from CMD encoder to pingpong > drm/msm/dpu: Disable pingpong TE on DPU 5.0.0 and above > drm/msm/dpu: Disable MDP vsync source selection on DPU 5.0.0 and above > drm/msm/dpu: Factor out shared interrupt register in INTF_BLK macro > drm/msm/dpu: Document and enable TEAR interrupts on DSI interfaces > drm/msm/dpu: Merge setup_- and enable_tearcheck pingpong callbacks > drm/msm/dpu: Implement tearcheck support on INTF block > drm/msm/dpu: Remove intr_rdptr from DPU >= 5.0.0 pingpong config > > .../drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h | 26 +- > .../gpu/drm/msm/disp/dpu1/catalog/dpu_4_0_sdm845.h | 26 +- > .../gpu/drm/msm/disp/dpu1/catalog/dpu_5_0_sm8150.h | 40 +-- > .../drm/msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h | 48 ++-- > .../gpu/drm/msm/disp/dpu1/catalog/dpu_6_0_sm8250.h | 40 +-- > .../gpu/drm/msm/disp/dpu1/catalog/dpu_6_2_sc7180.h | 16 +- > .../gpu/drm/msm/disp/dpu1/catalog/dpu_6_3_sm6115.h | 15 +- > .../drm/msm/disp/dpu1/catalog/dpu_6_5_qcm2290.h | 15 +- > .../gpu/drm/msm/disp/dpu1/catalog/dpu_7_0_sm8350.h | 40 +-- > .../gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h | 22 +- > .../drm/msm/disp/dpu1/catalog/dpu_8_0_sc8280xp.h | 64 +++-- > .../gpu/drm/msm/disp/dpu1/catalog/dpu_8_1_sm8450.h | 46 ++-- > .../gpu/drm/msm/disp/dpu1/catalog/dpu_9_0_sm8550.h | 36 ++- > drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 11 + > drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h | 10 +- > .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c | 210 ++++++++-------- > drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c | 48 ++-- > drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h | 9 +- > drivers/gpu/drm/msm/disp/dpu1/dpu_hw_interrupts.c | 32 ++- > drivers/gpu/drm/msm/disp/dpu1/dpu_hw_interrupts.h | 4 + > drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.c | 268 ++++++++++++++++++--- > drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.h | 25 ++ > drivers/gpu/drm/msm/disp/dpu1/dpu_hw_mdss.h | 48 ++++ > drivers/gpu/drm/msm/disp/dpu1/dpu_hw_pingpong.c | 83 ++++--- > drivers/gpu/drm/msm/disp/dpu1/dpu_hw_pingpong.h | 64 +---- > drivers/gpu/drm/msm/disp/dpu1/dpu_hw_top.c | 52 ++-- > drivers/gpu/drm/msm/disp/dpu1/dpu_hwio.h | 3 - > drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h | 4 + > drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h | 14 ++ > 29 files changed, 909 insertions(+), 410 deletions(-) > --- > base-commit: 4aa1da8d99724f6c0b762b58a71cee7c5e2e109b > change-id: 20230411-dpu-intf-te-ea684f13e083 > > Best regards,