From patchwork Thu Mar 16 08:51:06 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Konrad Dybcio X-Patchwork-Id: 664095 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 30319C7618A for ; Thu, 16 Mar 2023 08:52:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231259AbjCPIwi (ORCPT ); Thu, 16 Mar 2023 04:52:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45698 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230484AbjCPIwS (ORCPT ); Thu, 16 Mar 2023 04:52:18 -0400 Received: from mail-lj1-x22b.google.com (mail-lj1-x22b.google.com [IPv6:2a00:1450:4864:20::22b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C4343B5FF9 for ; Thu, 16 Mar 2023 01:51:17 -0700 (PDT) Received: by mail-lj1-x22b.google.com with SMTP id f16so832868ljq.10 for ; Thu, 16 Mar 2023 01:51:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1678956670; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:from:to:cc:subject:date:message-id:reply-to; bh=MRHfhPkQQmxxwKiYMeDcsdJG0r8Xhcdja24C67w7tIY=; b=hcC4eZRs2DELd3vLetjO82Iol3rJDXo/hCDQeg7tLZ8kRDgvSECRSnk5OlDwcew6av 7xzBBWWC5yqVlMyzlfugZ0Zrx9zNXqmofTO435INIk5aZ6FnVTUZMlY8sWv0JECxfBwT RPf2E2Uq7nXrhtYSt2KU9u9bAq4CjojNQKNZ97VBZ12POg3p5vLreaDJ0Bs+0w4PF4Wo JDJ7FOVXgPln5OozfBzmIixxydOtpi8TVgpuaHYhJCEIhEmR+rlcQgeqNZYptg5soARF mY3GXopOkb65xykCKCHPm6mTiWQOPgjAVuHT4BXxrn5TjFWJv89xo79O75Bs76Rpr7XF EZig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678956670; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=MRHfhPkQQmxxwKiYMeDcsdJG0r8Xhcdja24C67w7tIY=; b=Mefj6uN7gJ7ZuK+95dFhC6fMI01qK3GFEahOqAz4hA9xzySZ2Hkav5FILoTYKmdooE clbSP2ChJEQuZ8qpB1bVLmHRxvzbpfRwyI/15STbjJBI/Af6bAlranzkLloNGXazHcIx 7xVxkWFRM7N9deI50Dh8GsMLLODJYG2XUJVPb7e3t0ev6xkhMZLVmdn/jGezCeseuhPZ wtC9m+HmPkEx7EkVbctQZcfTSbLVtzhf4IRG8y6I99CT0WBnv818IdG+4P3pjAMn3C+Q yyVqSOn6oPnKNiVuMOdUJe8i5dhgxDNfGIzVK9HneWlfDeSixafC/ezSiRB6stzYH/EK L3gg== X-Gm-Message-State: AO0yUKUJx0vmY1ClM8pAsde+Ojpy948qdFkN58hWVzgKz4fvXDjpQ2Ag 5uiuwsVYHMaIQXjw4ephOQZ3a+i6TUmqJ/zfEpM= X-Google-Smtp-Source: AK7set++f4e0zAJlzPQd1RsCU44TuFEl32Qs7tdY3yyXR48HHNXGbN1BTY5YuC7B0ioIHD0vd8DTJg== X-Received: by 2002:a2e:be89:0:b0:298:6cfa:3773 with SMTP id a9-20020a2ebe89000000b002986cfa3773mr2251503ljr.37.1678956670439; Thu, 16 Mar 2023 01:51:10 -0700 (PDT) Received: from [192.168.1.101] (abyj16.neoplus.adsl.tpnet.pl. [83.9.29.16]) by smtp.gmail.com with ESMTPSA id o11-20020a2e730b000000b002991baef49bsm251566ljc.12.2023.03.16.01.51.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 16 Mar 2023 01:51:10 -0700 (PDT) From: Konrad Dybcio Subject: [PATCH v5 00/10] Fix DSI host idx detection on HW revision clash Date: Thu, 16 Mar 2023 09:51:06 +0100 Message-Id: <20230307-topic-dsi_qcm-v5-0-9d4235b77f4f@linaro.org> MIME-Version: 1.0 X-B4-Tracking: v=1; b=H4sIAHrYEmQC/32Nyw6CMBREf4V0bU2hJRRX/ocxpi/gJthii42G8 O9e2LnQ5ZnJmVlIchFcIqdiIdFlSBA8Qn0oiBmU7x0Fi0wqVnHGWUPnMIGhNsHtYe60NpZxg1U nO4KOVslRHZU3A1r+OY4YTtF18NpPLlfkAdIc4nv/zHxLf81nThmV2jauVNZyqc4jeBXDMcSeb FNZ/NUF6rXQQraylK3RX/q6rh+D9Gtl/wAAAA== To: Rob Clark , Abhinav Kumar , Dmitry Baryshkov , Sean Paul , David Airlie , Daniel Vetter , Rob Herring , Krzysztof Kozlowski , Krishna Manikandan , Bryan O'Donoghue , Andy Gross , Bjorn Andersson Cc: Rob Herring , linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Marijn Suijten , Konrad Dybcio X-Mailer: b4 0.12.1 X-Developer-Signature: v=1; a=ed25519-sha256; t=1678956668; l=3422; i=konrad.dybcio@linaro.org; s=20230215; h=from:subject:message-id; bh=0MXjDNpERjKFXSKU2j+B9Z5K/vxYRzMBl75jFNCiDc4=; b=WjlkY2e3xNCFyGqRWQA0InNPbPPw+tF84Td75phjejo9KwAUuyMPrP7ckVQhBDi1lB6JP3W4wMKF sariP+AfDFWIBtINMU0tfylRvVlgTIlnlbd1V5V0I8TuzR3qz1U7 X-Developer-Key: i=konrad.dybcio@linaro.org; a=ed25519; pk=iclgkYvtl2w05SSXO5EjjSYlhFKsJ+5OSZBjOkQuEms= Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org v4 -> v5: - Drop superfluous items: level in [8/10] - Remove the header define for the qcm2290 config in [6/10] instead of [7/10] - Pick up tags v4: https://lore.kernel.org/r/20230307-topic-dsi_qcm-v4-0-54b4898189cb@linaro.org v3 -> v4: - Use the shiny new compatible in the 6115 bindings example [9/10] - Remove the leftover include and header definition [6, 7/10] - Deduplicate the qcm2290 clks/regs in the common deduplication commit instead of doing it separately - Pick up tags - Rebase on next-20230314 (nothing seems to have changed fwiw) v3: https://lore.kernel.org/r/20230307-topic-dsi_qcm-v3-0-8bd7e1add38a@linaro.org v2 -> v3: - Merge with [1], I should have done that earlier.. - Squash 6115 compatible patches into one - Pick up tags (except Rob's ack in 6115 compatible addition, as it was changed) - Use b4 (sorry if you got an incomplete set of messages before..) [1] https://lore.kernel.org/linux-arm-msm/145066db-5723-6baa-237d-7c2b8fd476d9@linaro.org/ v2: https://lore.kernel.org/linux-arm-msm/20230213121012.1768296-1-konrad.dybcio@linaro.org/ v1 -> v2: - squash the 2d-array-ification and fixing up the logic into one patch - drop num_variants, loop over VARIANTS_MAX*DSI_MAX unconditionally - drop inadequate Fixes: tags - pick up rbs v1: https://lore.kernel.org/linux-arm-msm/20230211115110.1462920-1-konrad.dybcio@linaro.org/ Some DSI host versions are implemented on multiple SoCs which use vastly different register maps. This messes with our current assumptions of being able to map {dsi0, dsi1} to {reg0, reg1}. Solve that by adding a way of specifying multiple sets of base registers and try comparing them against the register specified in DT until we find a match. This removes the need for the QCM2290-specific compatible which was used in the SM6115 DT (which uses DSIv2.4.1, just like SC7180). The series also takes care of that. Tested on SM6115P Lenovo Tab P11 and SM8350 PDX215 Signed-off-by: Konrad Dybcio --- Konrad Dybcio (10): dt-bindings: display/msm: dsi-controller-main: Fix deprecated QCM2290 compatible drm/msm/dsi: Get rid of msm_dsi_config::num_dsi drm/msm/dsi: Fix DSI index detection when version clash occurs drm/msm/dsi: dsi_cfg: Deduplicate identical structs drm/msm/dsi: dsi_cfg: Merge SC7180 config into SDM845 drm/msm/dsi: Switch the QCM2290-specific compatible to index autodetection drm/msm/dsi: Remove custom DSI config handling dt-bindings: display/msm: dsi-controller-main: Fix deprecated compatible dt-bindings: display/msm: dsi-controller-main: Add SM6115 arm64: dts: qcom: sm6115: Use the correct DSI compatible .../bindings/display/msm/dsi-controller-main.yaml | 9 +- .../bindings/display/msm/qcom,sm6115-mdss.yaml | 10 +- arch/arm64/boot/dts/qcom/sm6115.dtsi | 2 +- drivers/gpu/drm/msm/dsi/dsi.c | 7 +- drivers/gpu/drm/msm/dsi/dsi_cfg.c | 161 ++++++++------------- drivers/gpu/drm/msm/dsi/dsi_cfg.h | 9 +- drivers/gpu/drm/msm/dsi/dsi_host.c | 14 +- 7 files changed, 84 insertions(+), 128 deletions(-) --- base-commit: ec0fa9a0a6fac454745c930bdb8619d0a354bac9 change-id: 20230307-topic-dsi_qcm-5cd03c230f8f Best regards,