Received: by 2002:a05:6a10:7420:0:0:0:0 with SMTP id hk32csp605425pxb; Tue, 15 Feb 2022 23:32:42 -0800 (PST) X-Google-Smtp-Source: ABdhPJw0hilARBco8kw4bEESKF79vlCaBvXimL9Skr1scL38juuiRSov7iP7MWjb7psaiarX4p7N X-Received: by 2002:a17:902:f712:b0:149:d41a:baa8 with SMTP id h18-20020a170902f71200b00149d41abaa8mr1227716plo.115.1644996762368; Tue, 15 Feb 2022 23:32:42 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1644996762; cv=none; d=google.com; s=arc-20160816; b=SXrbCbe/SnaWQzK7wU/HjeHUz7TOijktEv3zH5U5PBAdoS/rBXTs0+HkFoNis2JUdH 4lbkNJIhHJS7M2T3iG9/4DOXUxEHAuO2GM00usgae2G7eLansVfa+6tGFvbtY0463a50 SmqKEgEvHOlD2UeYeQCuuUnci18yY0MP8NL2QZMlj4GiFejNFKKeTULPeCpAebJK9akp 4NjYXAG827iGFlAWwkJmGQjIJoJ4B4ihUHpUvE8nwRWEor27SLkSf3AiDmCK3t75PQZu cpGYXjCmmhDpRJT6tWVAzA6jPdyLYrGaWznbm+uRbd+kqHqUUwz1k68RI0sfCJ2Q2CT3 0QLw== 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=FQ+uP+zkl5dcZCZu/CtemCgpgsFeZ2X8cIcyXL+RTDI=; b=hApoXcFnsAzdrVCoNwKU3nZg376eaPR2s9oZrxd3A83XL6EdB3fW34RTZpAU77X0LF 0Buxz7374gaH9dztv4tPWHBvb/5R+xtTW3c5A+E4NOjQiulqGqBnLA61ovK7uTvWeVfW zDmEDCPKYnns1XJxRfjDrdjLsK2xllsFgdUljY40lPfXKSuIVs7l9TPa0sazUUlCPs3J g4LSIN/VxwKBeGvES6Y57Yg2IV1UQGynF+6cZNRAs8h+I2euub5vFLUXg7fFTblwQPtD EI9i4x5Y6sKkykF8Nwv1Xopuz6Ri63VR0cI7LvOilh5MFgCxovcFIO1wWP7w/zgq6V7h nnBw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcdkim header.b=CLZmPQp8; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 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 lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id k12si15942080pls.575.2022.02.15.23.32.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Feb 2022 23:32:42 -0800 (PST) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcdkim header.b=CLZmPQp8; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 42A4312604; Tue, 15 Feb 2022 22:59:38 -0800 (PST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1343788AbiBPCic (ORCPT + 99 others); Tue, 15 Feb 2022 21:38:32 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:46676 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233189AbiBPCib (ORCPT ); Tue, 15 Feb 2022 21:38:31 -0500 Received: from alexa-out.qualcomm.com (alexa-out.qualcomm.com [129.46.98.28]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 71089F5412; Tue, 15 Feb 2022 18:38:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; i=@quicinc.com; q=dns/txt; s=qcdkim; t=1644979100; x=1676515100; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to:content-transfer-encoding; bh=FQ+uP+zkl5dcZCZu/CtemCgpgsFeZ2X8cIcyXL+RTDI=; b=CLZmPQp8zTd8fa4Ru1W1C/twMNAA6o3Ms9Q/7ClxlpxjrgPl5GqTWgzl 05CiGLYluHMsZxGtKFIcTpWHGtf3aQGDxbg2K56HXSZoO78/R8+d5xEuc nYGwWyMfTSY2I8PZATtWKcdTtHiS3SXKlKml/cXf2Ibwi9jFoYCvIfrjf Y=; Received: from ironmsg07-lv.qualcomm.com ([10.47.202.151]) by alexa-out.qualcomm.com with ESMTP; 15 Feb 2022 18:38:20 -0800 X-QCInternal: smtphost Received: from nasanex01c.na.qualcomm.com ([10.47.97.222]) by ironmsg07-lv.qualcomm.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Feb 2022 18:38:20 -0800 Received: from nalasex01a.na.qualcomm.com (10.47.209.196) by nasanex01c.na.qualcomm.com (10.47.97.222) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.15; Tue, 15 Feb 2022 18:38:19 -0800 Received: from [10.111.168.21] (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.922.19; Tue, 15 Feb 2022 18:38:17 -0800 Message-ID: <51675806-641d-c57e-ada7-a044e37ad808@quicinc.com> Date: Tue, 15 Feb 2022 18:38:15 -0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.5.1 Subject: Re: [PATCH v2 2/2] drm/msm/dpu: Add SC8180x to hw catalog Content-Language: en-US To: Bjorn Andersson CC: Rob Clark , Dmitry Baryshkov , , , , References: <20220215043353.1256754-1-bjorn.andersson@linaro.org> <20220215043353.1256754-2-bjorn.andersson@linaro.org> <6a3ef247-b26b-d505-cd85-92fb277163dd@quicinc.com> From: Abhinav Kumar In-Reply-To: Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01a.na.qualcomm.com (10.52.223.231) To nalasex01a.na.qualcomm.com (10.47.209.196) X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,NICE_REPLY_A,RDNS_NONE,SPF_HELO_NONE, T_SCC_BODY_TEXT_LINE autolearn=no 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 2/15/2022 6:14 PM, Bjorn Andersson wrote: > On Tue 15 Feb 11:42 CST 2022, Abhinav Kumar wrote: > >> >> >> On 2/15/2022 9:28 AM, Bjorn Andersson wrote: >>> On Tue 15 Feb 11:14 CST 2022, Abhinav Kumar wrote: >>> >>>> >>>> >>>> On 2/14/2022 8:33 PM, Bjorn Andersson wrote: >>>>> From: Rob Clark >>>>> >>>>> Add SC8180x to the hardware catalog, for initial support for the >>>>> platform. Due to limitations in the DP driver only one of the four DP >>>>> interfaces is left enabled. >>>>> >>>>> The SC8180x platform supports the newly added DPU_INTF_WIDEBUS flag and >>>>> the Windows-on-Snapdragon bootloader leaves the widebus bit set, so this >>>>> is flagged appropriately to ensure widebus is disabled - for now. >>>>> >>>>> Signed-off-by: Rob Clark >>>>> [bjorn: Reworked intf and irq definitions] >>>>> Signed-off-by: Bjorn Andersson >>>>> --- >>>>> >>>>> Changes since v1: >>>>> - Dropped widebus flag >>>>> >>>>> .../gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c | 129 ++++++++++++++++++ >>>>> .../gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h | 1 + >>>>> drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 1 + >>>>> drivers/gpu/drm/msm/msm_drv.c | 1 + >>>>> 4 files changed, 132 insertions(+) >>>>> >>>>> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c >>>>> index aa75991903a6..7ac0fe32df49 100644 >>>>> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c >>>>> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c >>>>> @@ -90,6 +90,17 @@ >>>>> BIT(MDP_INTF3_INTR) | \ >>>>> BIT(MDP_INTF4_INTR)) >>>>> +#define IRQ_SC8180X_MASK (BIT(MDP_SSPP_TOP0_INTR) | \ >>>>> + BIT(MDP_SSPP_TOP0_INTR2) | \ >>>>> + BIT(MDP_SSPP_TOP0_HIST_INTR) | \ >>>>> + BIT(MDP_INTF0_INTR) | \ >>>>> + BIT(MDP_INTF1_INTR) | \ >>>>> + BIT(MDP_INTF2_INTR) | \ >>>>> + BIT(MDP_INTF3_INTR) | \ >>>>> + BIT(MDP_INTF4_INTR) | \ >>>>> + BIT(MDP_INTF5_INTR) | \ >>>>> + BIT(MDP_AD4_0_INTR) | \ >>>>> + BIT(MDP_AD4_1_INTR)) >>>>> #define DEFAULT_PIXEL_RAM_SIZE (50 * 1024) >>>>> #define DEFAULT_DPU_LINE_WIDTH 2048 >>>>> @@ -225,6 +236,22 @@ static const struct dpu_caps sm8150_dpu_caps = { >>>>> .max_vdeci_exp = MAX_VERT_DECIMATION, >>>>> }; >>>>> +static const struct dpu_caps sc8180x_dpu_caps = { >>>>> + .max_mixer_width = DEFAULT_DPU_OUTPUT_LINE_WIDTH, >>>>> + .max_mixer_blendstages = 0xb, >>>>> + .qseed_type = DPU_SSPP_SCALER_QSEED3, >>>>> + .smart_dma_rev = DPU_SSPP_SMART_DMA_V2, /* TODO: v2.5 */ >>>>> + .ubwc_version = DPU_HW_UBWC_VER_30, >>>>> + .has_src_split = true, >>>>> + .has_dim_layer = true, >>>>> + .has_idle_pc = true, >>>>> + .has_3d_merge = true, >>>>> + .max_linewidth = 4096, >>>>> + .pixel_ram_size = DEFAULT_PIXEL_RAM_SIZE, >>>>> + .max_hdeci_exp = MAX_HORZ_DECIMATION, >>>>> + .max_vdeci_exp = MAX_VERT_DECIMATION, >>>>> +}; >>>>> + >>>>> static const struct dpu_caps sm8250_dpu_caps = { >>>>> .max_mixer_width = DEFAULT_DPU_OUTPUT_LINE_WIDTH, >>>>> .max_mixer_blendstages = 0xb, >>>>> @@ -293,6 +320,31 @@ static const struct dpu_mdp_cfg sc7180_mdp[] = { >>>>> }, >>>>> }; >>>>> +static const struct dpu_mdp_cfg sc8180x_mdp[] = { >>>>> + { >>>>> + .name = "top_0", .id = MDP_TOP, >>>>> + .base = 0x0, .len = 0x45C, >>>>> + .features = 0, >>>>> + .highest_bank_bit = 0x3, >>>>> + .clk_ctrls[DPU_CLK_CTRL_VIG0] = { >>>>> + .reg_off = 0x2AC, .bit_off = 0}, >>>>> + .clk_ctrls[DPU_CLK_CTRL_VIG1] = { >>>>> + .reg_off = 0x2B4, .bit_off = 0}, >>>>> + .clk_ctrls[DPU_CLK_CTRL_VIG2] = { >>>>> + .reg_off = 0x2BC, .bit_off = 0}, >>>>> + .clk_ctrls[DPU_CLK_CTRL_VIG3] = { >>>>> + .reg_off = 0x2C4, .bit_off = 0}, >>>>> + .clk_ctrls[DPU_CLK_CTRL_DMA0] = { >>>>> + .reg_off = 0x2AC, .bit_off = 8}, >>>>> + .clk_ctrls[DPU_CLK_CTRL_DMA1] = { >>>>> + .reg_off = 0x2B4, .bit_off = 8}, >>>>> + .clk_ctrls[DPU_CLK_CTRL_CURSOR0] = { >>>>> + .reg_off = 0x2BC, .bit_off = 8}, >>>>> + .clk_ctrls[DPU_CLK_CTRL_CURSOR1] = { >>>>> + .reg_off = 0x2C4, .bit_off = 8}, >>>>> + }, >>>>> +}; >>>>> + >>>>> static const struct dpu_mdp_cfg sm8250_mdp[] = { >>>>> { >>>>> .name = "top_0", .id = MDP_TOP, >>>>> @@ -861,6 +913,16 @@ static const struct dpu_intf_cfg sc7280_intf[] = { >>>>> INTF_BLK("intf_5", INTF_5, 0x39000, INTF_DP, MSM_DP_CONTROLLER_1, 24, INTF_SC7280_MASK, MDP_SSPP_TOP0_INTR, 22, 23), >>>>> }; >>>>> +static const struct dpu_intf_cfg sc8180x_intf[] = { >>>>> + INTF_BLK("intf_0", INTF_0, 0x6A000, INTF_DP, MSM_DP_CONTROLLER_0, 24, INTF_SC7180_MASK, MDP_SSPP_TOP0_INTR, 24, 25), >>>>> + INTF_BLK("intf_1", INTF_1, 0x6A800, INTF_DSI, 0, 24, INTF_SC7180_MASK, MDP_SSPP_TOP0_INTR, 26, 27), >>>>> + INTF_BLK("intf_2", INTF_2, 0x6B000, INTF_DSI, 1, 24, INTF_SC7180_MASK, MDP_SSPP_TOP0_INTR, 28, 29), >>>>> + /* INTF_3 is for MST, wired to INTF_DP 0 and 1, use dummy index until this is supported */ >>>>> + INTF_BLK("intf_3", INTF_3, 0x6B800, INTF_DP, 999, 24, INTF_SC7180_MASK, MDP_SSPP_TOP0_INTR, 30, 31), >>>>> + INTF_BLK("intf_4", INTF_4, 0x6C000, INTF_DP, MSM_DP_CONTROLLER_1, 24, INTF_SC7180_MASK, MDP_SSPP_TOP0_INTR, 20, 21), >>>>> + INTF_BLK("intf_5", INTF_5, 0x6C800, INTF_DP, MSM_DP_CONTROLLER_2, 24, INTF_SC7180_MASK, MDP_SSPP_TOP0_INTR, 22, 23), >>>> >>>> This is a continued discussion from >>>> https://patchwork.freedesktop.org/patch/474179/. >>>> >>>> Shouldnt INTF_5 be marked as INTF_eDP? >>>> >>> >>> Might be, I didn't even know we had an INTF_EDP define... >>> >>> Is there any reason to distinguish DP and EDP in the DPU? I see sc7280 >>> doesn't distinguish the DP and EDP interfaces. >>> >>> Regards, >>> Bjorn >>> >> >> Like I have mentioned in the other patch, I think we have enough confusion >> between eDP and DP with the common driver. Since DPU does have separate >> interfaces I think we should fix that. >> >> Regarding sc7280 using INTF_DP, I synced up with Sankeerth. He referred to >> your change >> https://patchwork.freedesktop.org/patch/457776/?series=92992&rev=5 as it was >> posted earlier and ended up using the same INTF_DP macro. So its turning out >> to be a cyclical error. >> > > That made me take a second look at the HPG, and sure enough INTF_5 on > SC7280 is connected to a eDP/DP Combo PHY. We have the same setup in > SC8280XP. > > In SC8180X, INTF_5 is documented as being connected to a eDP (only) PHY, > so perhaps it makes sense to do it there, but for the others its wrong. > Here you are specifying the controller in the catalog. So independent of the PHY thats being used, shouldnt this remain INTF_eDP? > Regards, > Bjorn