From nobody Mon Feb 9 12:54:31 2026 Received: from mail-pl1-f180.google.com (mail-pl1-f180.google.com [209.85.214.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 85CC76F08A for ; Wed, 3 Apr 2024 09:11:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712135480; cv=none; b=dOjnod5/yoWbkcPmiiYovbKLsiFQvgFJw8PRGh5XIkv3uqj+9mbJIJ6GD+KtFDraAUYfA9S3da5NrScPucZ3nOncFCltlEfW0gKCOFQQeAHRsxzrwzPagaPHd9NhZbF2coOWWawVSRlMAwgfnQ27EjJ/JDvIAX2nM2GrtYxZXnk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712135480; c=relaxed/simple; bh=17irNPUG8rONBYpdu5/zoIuYJGUsley5193TkmEMtIQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=B7rumaubCR2uHV/VFpCwEVoljl8ZymeopDgyCFsvR6ZbYM4R70O0IFxd84Uvfxaew9HnwLByf6mSd4lxfCMiSwrsMu3kfEs4StSV7wd5bobtx1ZgcFJsSDIB/rdXIpcLduEsKiFwt1v7we+7Fwf0wiQFqEwe5pVD1iVhDL80p0M= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=BZm9pBQs; arc=none smtp.client-ip=209.85.214.180 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="BZm9pBQs" Received: by mail-pl1-f180.google.com with SMTP id d9443c01a7336-1e27e174ccbso9391155ad.2 for ; Wed, 03 Apr 2024 02:11:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1712135477; x=1712740277; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=NP1mArxks5bntvoBu6vgePRngXslO+DwNYzgIBI4xco=; b=BZm9pBQsAb6QaI1UZQaT6yCYdUjdNkYtvI9CB1ZMkms/GDTLUFvEzrcU9p90qZk2Jy T6G2YfVYJbsKficpr3E+mtLcJJz4eDYxqldzTtMs+wSnRjElsMCwmqhbQUKAEKt9HiIi an/uvidR83fyZnAFTBYO82/1zaqDGl5+Zj5LLkMUTzd9NC2GndPks7ssapZMtMdKkcvL oL6HI+VKtzG1KaErHFHHnGafjkOT3kVicePu4SZuOEsXBtNNz+ipnDCRRZLG/K8ALBdl wKLt+2/yAyvpS6H8vFx163jCoiKdgb1+vZGGph8OpjKS7v0U+HzI7WdWzdUZpoJAYMgN jkrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712135477; x=1712740277; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=NP1mArxks5bntvoBu6vgePRngXslO+DwNYzgIBI4xco=; b=unsZhRNmHhigDJ/+Qwa83u++fp6UouHnX5slmRQobxl196LO5uc0m39V1f7TYioUND 1gHKx8oTWtJoAvvj3V/GdbjEa+1o/OzorqweBILGN1s30Y07plpJjEQKZ6ga+em9FFl5 IyT8tIAanTyIM+/BNlC3xQ1Vudp5xLrS/RIz70Eydg4BWZsgYl/B4MGjfA9VGjFfbnw7 fVA1UZ2Q+4jx20/+HJZMftYHLEKIHiEvbYwHY6Jzo7hPbQRyKbC1qMtWQYDjrFamFdom 0huCF14u0RTY1agq/RM8ey0AjNsq/T0iC/4JGtwbRHpfJJLoYY5YmiuPD+S/JrN9ZCy1 Ib9Q== X-Forwarded-Encrypted: i=1; AJvYcCVw3tbusdhK+n/yjHjQafxn41ftzomGRJy62VVa8+QTPJVT3fShxejq1H65d2Tg3sbDFxnHj5pedAxnmx1BWKYPt4/iZo7BQTs3ScHs X-Gm-Message-State: AOJu0Yz/PclurNI1cDmvKINDWErcBX7CIfiNr4JXmsEa0wEnEW0kIm/C 0lKPI246pc0xdpZePKirjNF54YbnOOBulJZvHymIzazsvkoZrNQhuugevjc3+8jVuOuflfb11l0 /5VX9fA== X-Google-Smtp-Source: AGHT+IEvnZUXLpdEar+zDu2dEcKJ3XPbx7m6PBvpXM6ninTCE0WpaPkwirt2qnexBqWzAKnOJ5d/Zw== X-Received: by 2002:a17:903:2285:b0:1e0:b872:d862 with SMTP id b5-20020a170903228500b001e0b872d862mr19646560plh.52.1712135476796; Wed, 03 Apr 2024 02:11:16 -0700 (PDT) Received: from [127.0.1.1] ([112.65.12.66]) by smtp.gmail.com with ESMTPSA id lo14-20020a170903434e00b001e0aded0ca7sm12688087plb.239.2024.04.03.02.11.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 03 Apr 2024 02:11:16 -0700 (PDT) From: Jun Nie Date: Wed, 03 Apr 2024 17:10:57 +0800 Subject: [PATCH v3 1/6] drm/msm/dpu: fix video mode DSC for DSI Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20240403-msm-drm-dsc-dsi-video-upstream-v1-1-db5036443545@linaro.org> References: <20240403-msm-drm-dsc-dsi-video-upstream-v1-0-db5036443545@linaro.org> In-Reply-To: <20240403-msm-drm-dsc-dsi-video-upstream-v1-0-db5036443545@linaro.org> To: Rob Clark , Abhinav Kumar , Dmitry Baryshkov , Sean Paul , Marijn Suijten , David Airlie , Daniel Vetter , Jessica Zhang , Vinod Koul Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, Jun Nie , Jonathan Marek X-Mailer: b4 0.13.0 X-Developer-Signature: v=1; a=ed25519-sha256; t=1712135460; l=2016; i=jun.nie@linaro.org; s=20240403; h=from:subject:message-id; bh=m6HQvVN42IUfffBpA5rSrdSQLAGl00b8q3W/bbmwYL0=; b=X1XSY5kWlW4EvhrnUx70p2aoQcx3f1DnnQ4OyjHIWQvbWeRXvcU2GduJDjEEDh2iXJNAm4MLN Z3Bv1A5eBC0BqnYTDzQzUt3NZ19ccVql5AenjM0xwfQJWidDKXu80Ql X-Developer-Key: i=jun.nie@linaro.org; a=ed25519; pk=MNiBt/faLPvo+iJoP1hodyY2x6ozVXL8QMptmsKg3cc= From: Jonathan Marek Add necessary DPU timing and control changes for DSC to work with DSI video mode. Signed-off-by: Jonathan Marek Signed-off-by: Jun Nie --- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c | 9 +++++++++ drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.c | 8 ++++++++ 2 files changed, 17 insertions(+) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c b/drivers= /gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c index d9e7dbf0499c..c7b009a60b63 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c @@ -115,6 +115,15 @@ static void drm_mode_to_intf_timing_params( timing->h_front_porch =3D timing->h_front_porch >> 1; timing->hsync_pulse_width =3D timing->hsync_pulse_width >> 1; } + + /* + * for DSI, if compression is enabled, then divide the horizonal active + * timing parameters by compression ratio. + */ + if (phys_enc->hw_intf->cap->type !=3D INTF_DP && timing->compression_en) { + timing->width =3D timing->width / 3; /* XXX: don't assume 3:1 compressio= n ratio */ + timing->xres =3D timing->width; + } } =20 static u32 get_horizontal_total(const struct dpu_hw_intf_timing_params *ti= ming) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.c b/drivers/gpu/drm/= msm/disp/dpu1/dpu_hw_intf.c index 965692ef7892..079efb48db05 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.c @@ -167,6 +167,14 @@ static void dpu_hw_intf_setup_timing_engine(struct dpu= _hw_intf *ctx, intf_cfg2 |=3D INTF_CFG2_DATABUS_WIDEN; =20 data_width =3D p->width; + if (p->wide_bus_en && !dp_intf) + data_width =3D p->width >> 1; + + if (p->compression_en) + intf_cfg2 |=3D INTF_CFG2_DCE_DATA_COMPRESS; + + if (p->compression_en && dp_intf) + DPU_ERROR("missing adjustments for DSC+DP\n"); =20 hsync_data_start_x =3D hsync_start_x; hsync_data_end_x =3D hsync_start_x + data_width - 1; --=20 2.34.1 From nobody Mon Feb 9 12:54:31 2026 Received: from mail-pg1-f179.google.com (mail-pg1-f179.google.com [209.85.215.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1350770CB4 for ; Wed, 3 Apr 2024 09:11:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712135486; cv=none; b=tc3MWqcgiBTq0p2LufWkwr+R022RU9nZ05FQaqcPpjAubdWDGrj2Va6Ffassf2hqS1/8TMjAWsqi7Fs8DC0/uHDBvVM+F+gGGsmng/6JmbBcc1M6/v9njb2Hq2aBF47vrBpebeswaYvFCOUd19S6IvlTeRdsPiqx1CiuyHs6HAk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712135486; c=relaxed/simple; bh=fe4UITYmaUib3AO2xJ32pxkfxq57Nt/QUsCaA65IoaY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=txrMlHrvb0zy66iNZlhDd+nH3l/7sJs8Ul2mKIjwQmGlCkkh5qdP1l2FUKuE6p0gL0C4NvqCKo9AY68EY94bN+EES1ZP+DLrBYL+9DL8htx71NwbbeHvRoqhiEJQ7bCm1pZ0mQJ5D68IYnm/AcqSUpEALsvlQORdz34QZDSNyow= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=jugfpVLI; arc=none smtp.client-ip=209.85.215.179 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="jugfpVLI" Received: by mail-pg1-f179.google.com with SMTP id 41be03b00d2f7-5bdbe2de25fso4625098a12.3 for ; Wed, 03 Apr 2024 02:11:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1712135483; x=1712740283; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=cpjQAPGX7DRYeObxhpkzDQOHk6DN4GVEcESJCG1mUPs=; b=jugfpVLIJ3UMAjieRXzFBXD6dhvelR3wCISNlluiWcKwuRBV53mLHgitwiUer4mGET CtO4GmsmEXfHYPlYjYlI4Nz3R43coL/8s7pn9O+Zx+g+KhmjjPJC1ReLuR0qvWcYzZZs V3DYVucGnV0/a9PqYSNkU+XwNtu89mmvqtMOKt3BWV+SCvi9hJDPYnJsJtzi0idRv5Ma 0fZ/RWHBqQ8mCVOvMwIWtLAb/S6YIKh5Op9jwMci5/2qpjBC5Voga1LvGjDNujkSBILx szFRRtBbaG2ewU7swQ9rURBlM608yRBmbsiJSIxfLYkxGZB39Qjys1SsOgnPQu5HEY+i ALtw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712135483; x=1712740283; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=cpjQAPGX7DRYeObxhpkzDQOHk6DN4GVEcESJCG1mUPs=; b=SEcOibKZGKT8hb+GJ++uuePuhwjdFIeZkL2ZwI6JlyPDLj84HwEUiOlfSG6p3xA7fP YKgdV+gCRZc4P4q1Ra/+NjyNUvIXF4jRVNHkkiRL7+7pRbfIkaNzhd9Hsn5qeswOJ0Rj XFgTBHI0YgksDWmJp6L7MRgKyN3wq2UJRzC6PnnI4/Wclf/W+su/ezGlcbkkpkj9O/6T r4mciGAdTZCNzdRiVUBhtJvt8Gc6t8pjz+3IBHnu74d3GPsDgS7PXn52WkIoddHQw36C 8WfcIETVqt2/6PpBj70BHvd/LXfpHIyY1jvO38M1QYUBEi1lTVzHGLBRRn1ChbGi1Kca IDxA== X-Forwarded-Encrypted: i=1; AJvYcCVaAtxE6Hhm5ReOT3OcaYlfgIEPnwQoD/2xfLvlBAUDEDrfyd8Alw6w2wLjcaT44QvXNDgSaQDa88dp4o30jMZyE+H3UMr8D5dh+B1c X-Gm-Message-State: AOJu0YxAg95Uwyoml6pZSj8wVP805gMu9vlayV0yzhhzmSheoZGjMIRP CPp0RO9xgYZxHZBVZ3EH8Cdf7CA5M26T1EH6hIOlPMEkFgZEMN6U/Qqieb+nzPLlwhU8o/4SGOY keW6KaQ== X-Google-Smtp-Source: AGHT+IHP8Wkk3WqZo2x4m5I0Y9pbkAk5VQE/2rUf71FZT7C/JxIaPYVwnEjbjC99Ufxm9f+YT9UumQ== X-Received: by 2002:a05:6a21:7898:b0:1a1:6803:69a3 with SMTP id bf24-20020a056a21789800b001a1680369a3mr17535809pzc.0.1712135483394; Wed, 03 Apr 2024 02:11:23 -0700 (PDT) Received: from [127.0.1.1] ([112.65.12.66]) by smtp.gmail.com with ESMTPSA id lo14-20020a170903434e00b001e0aded0ca7sm12688087plb.239.2024.04.03.02.11.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 03 Apr 2024 02:11:22 -0700 (PDT) From: Jun Nie Date: Wed, 03 Apr 2024 17:10:58 +0800 Subject: [PATCH v3 2/6] drm/msm/dsi: set video mode widebus enable bit when widebus is enabled Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20240403-msm-drm-dsc-dsi-video-upstream-v1-2-db5036443545@linaro.org> References: <20240403-msm-drm-dsc-dsi-video-upstream-v1-0-db5036443545@linaro.org> In-Reply-To: <20240403-msm-drm-dsc-dsi-video-upstream-v1-0-db5036443545@linaro.org> To: Rob Clark , Abhinav Kumar , Dmitry Baryshkov , Sean Paul , Marijn Suijten , David Airlie , Daniel Vetter , Jessica Zhang , Vinod Koul Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, Jun Nie , Jonathan Marek X-Mailer: b4 0.13.0 X-Developer-Signature: v=1; a=ed25519-sha256; t=1712135460; l=1740; i=jun.nie@linaro.org; s=20240403; h=from:subject:message-id; bh=OZSNyzuYoscDY4/FYsSXzvtJ+R2/AlPvVZDPzdhQNoA=; b=JV2mcwgTSj/9QP/9nbeMkSLbKZiuDUzrcHQTKV/HDaoeIOw35XNohHWH854JH04Qap8uPz1qe a1wuJWYSr8AD07LuWLw9ySSkW0JSmM3hPE4pifrLGC76X4rSGz0MANz X-Developer-Key: i=jun.nie@linaro.org; a=ed25519; pk=MNiBt/faLPvo+iJoP1hodyY2x6ozVXL8QMptmsKg3cc= From: Jonathan Marek The value returned by msm_dsi_wide_bus_enabled() doesn't match what the driver is doing in video mode. Fix that by actually enabling widebus for video mode. Fixes: efcbd6f9cdeb ("drm/msm/dsi: Enable widebus for DSI") Signed-off-by: Jonathan Marek Signed-off-by: Jun Nie --- drivers/gpu/drm/msm/dsi/dsi.xml.h | 1 + drivers/gpu/drm/msm/dsi/dsi_host.c | 2 ++ 2 files changed, 3 insertions(+) diff --git a/drivers/gpu/drm/msm/dsi/dsi.xml.h b/drivers/gpu/drm/msm/dsi/ds= i.xml.h index 2a7d980e12c3..f0b3cdc020a1 100644 --- a/drivers/gpu/drm/msm/dsi/dsi.xml.h +++ b/drivers/gpu/drm/msm/dsi/dsi.xml.h @@ -231,6 +231,7 @@ static inline uint32_t DSI_VID_CFG0_TRAFFIC_MODE(enum d= si_traffic_mode val) #define DSI_VID_CFG0_HSA_POWER_STOP 0x00010000 #define DSI_VID_CFG0_HBP_POWER_STOP 0x00100000 #define DSI_VID_CFG0_HFP_POWER_STOP 0x01000000 +#define DSI_VID_CFG0_DATABUS_WIDEN 0x02000000 #define DSI_VID_CFG0_PULSE_MODE_HSA_HE 0x10000000 =20 #define REG_DSI_VID_CFG1 0x0000001c diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c b/drivers/gpu/drm/msm/dsi/d= si_host.c index 9d86a6aca6f2..2a0422cad6de 100644 --- a/drivers/gpu/drm/msm/dsi/dsi_host.c +++ b/drivers/gpu/drm/msm/dsi/dsi_host.c @@ -754,6 +754,8 @@ static void dsi_ctrl_enable(struct msm_dsi_host *msm_ho= st, data |=3D DSI_VID_CFG0_TRAFFIC_MODE(dsi_get_traffic_mode(flags)); data |=3D DSI_VID_CFG0_DST_FORMAT(dsi_get_vid_fmt(mipi_fmt)); data |=3D DSI_VID_CFG0_VIRT_CHANNEL(msm_host->channel); + if (msm_dsi_host_is_wide_bus_enabled(&msm_host->base)) + data |=3D DSI_VID_CFG0_DATABUS_WIDEN; dsi_write(msm_host, REG_DSI_VID_CFG0, data); =20 /* Do not swap RGB colors */ --=20 2.34.1 From nobody Mon Feb 9 12:54:31 2026 Received: from mail-pl1-f177.google.com (mail-pl1-f177.google.com [209.85.214.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7A6B77F48F for ; Wed, 3 Apr 2024 09:11:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712135492; cv=none; b=k27o2SQSZWaGbMHVsfqMDAfbsvge9KvU9xq1siFeQOF5oBW/EKu6B+uXG1v5JVTwFCOSOQOIgXYRnOvlOYTKSmgPqRzAIMrdX3t6SXmAFNAgFkI4MUuaX9vXe9A875LLvoC7QrWQErCKso+jPMKONh3037grCLJ5xePtDWXtxZ8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712135492; c=relaxed/simple; bh=cCQQDgLrW72Veyqz+hhDHWkB/JGA5IkQ8Ht8vMOBfMw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=j4pSblW+RBlXuLdE0qDfuRx7roK7f4Wf5pdyNuHPFtuMmE4RXQM7bCnRo5XbNLZBYTr6aCvqlXk3EugWA+T9JlScVY7OUSkibW1iUzcoNfGB5qUawYJzd2+U3eHjy21bS+XD+Dh7GydYUPbGn6gf/If4Hy0GnLxtAaL8F/eygqc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=vfz1xBHk; arc=none smtp.client-ip=209.85.214.177 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="vfz1xBHk" Received: by mail-pl1-f177.google.com with SMTP id d9443c01a7336-1e0f0398553so54669245ad.3 for ; Wed, 03 Apr 2024 02:11:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1712135490; x=1712740290; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=DQqEHjYdisnUD2snQA56jk2b7liMK6zBTYwXTs6Sj2M=; b=vfz1xBHkPqBzS99B3WDYlNQdlAugSstm9OIgdCDi7G5moCweMnbfgwsor6akoNAvhc Q4YvLj8eK5hJ3fGh1+i3Dy0cGay3/dB5EpbtMHlx87qZ6grEDmRH/6XQOeCR8L37/iUw +vCedcHrLDaT5BnqCRBbClBbb8lJbdhiZmuuCATWutyKk59UduEq3g6CxTMkRaqmP+kJ eCYyiBIxrAnEDMzowkRbGThwM2y4vk2aPzch7JqPwg1p4v7GS4evICdgXtyUd7NfnQYB B0ErcckSizS7KHyu8Yyui/MUvZHfFT8jmwIfn8Mew29MAggKxaJb4W5mHO3F9Uc3XmHV 4e/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712135490; x=1712740290; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=DQqEHjYdisnUD2snQA56jk2b7liMK6zBTYwXTs6Sj2M=; b=K54pBoTjRKXn+8jPLC3hFvBOGrVpQhaZJYWqhR8KJ9RCH2d9jy/2JKMG9NwjZ1d6f4 0mMq3srrkZc6hgoMtizpHg1ifD50W3l3FartH1jG6tDRWT+vMZTD7/iUax9xG5zknewt rxhtSSbRKqCbZnwgijv6uNK4VFzfpm8AAzbWOFY1cQ+wDsSCnfBAhONzCr69iLda3kj8 04HwIkngOeq3cYDv14ykYFeo4oXWGAQ7d0BJk5ZJm4+uaLDa+mq86KKxeqI8AdBKXLhS Lv1souVMOU7t1pM96WTTXbVM4R6LSsfpmAWUIesf6SSX7NBbbB/v9FKwTNajq62TPRDO Dv6g== X-Forwarded-Encrypted: i=1; AJvYcCWi+3upF5OBC3koAJRHDCpTtZeoaSZv9mmRPB1GMJus/CyuPDFIbw0F887h/OvTcnXIrGnI02Lk6vVlBnpx9mCmfUCkL2gkubXRB5CF X-Gm-Message-State: AOJu0YxPRVfK2lOXclmktNoJnbkqulJ6zKb2zzIwCq12bZYJWfnayu0l j0zk1Uu0M8nnhj6i8HMEia+tDHInspT+WH4BId7pKI3CKOMMhpdlydqB3UH7fxQEKMq4Q4lJIo2 mjlfBDQ== X-Google-Smtp-Source: AGHT+IGoKCZcGfq8O6r5TZMV+3488gW9BqB93GhZMP+8qde52gj2tgoCMbgU1QhQAK5AgXTygCwvkA== X-Received: by 2002:a17:902:ea0b:b0:1e0:b287:c1d8 with SMTP id s11-20020a170902ea0b00b001e0b287c1d8mr18367183plg.5.1712135489852; Wed, 03 Apr 2024 02:11:29 -0700 (PDT) Received: from [127.0.1.1] ([112.65.12.66]) by smtp.gmail.com with ESMTPSA id lo14-20020a170903434e00b001e0aded0ca7sm12688087plb.239.2024.04.03.02.11.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 03 Apr 2024 02:11:29 -0700 (PDT) From: Jun Nie Date: Wed, 03 Apr 2024 17:10:59 +0800 Subject: [PATCH v3 3/6] drm/msm/dsi: set VIDEO_COMPRESSION_MODE_CTRL_WC (fix video mode DSC) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20240403-msm-drm-dsc-dsi-video-upstream-v1-3-db5036443545@linaro.org> References: <20240403-msm-drm-dsc-dsi-video-upstream-v1-0-db5036443545@linaro.org> In-Reply-To: <20240403-msm-drm-dsc-dsi-video-upstream-v1-0-db5036443545@linaro.org> To: Rob Clark , Abhinav Kumar , Dmitry Baryshkov , Sean Paul , Marijn Suijten , David Airlie , Daniel Vetter , Jessica Zhang , Vinod Koul Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, Jun Nie , Jonathan Marek X-Mailer: b4 0.13.0 X-Developer-Signature: v=1; a=ed25519-sha256; t=1712135460; l=1680; i=jun.nie@linaro.org; s=20240403; h=from:subject:message-id; bh=3j8eHIegp4Va/VwA/6lBtYTg4B03+RKnNiDyMKiJ2vk=; b=KYx0Ix2CdVVcXMEVCmbw5LBcbUcSc2xtRS6uG1UPryAnL/gyF8kCDnP4OTQ0zJLN/6LZPkyCK qarGJC8xk8BDG+YYUxsw3+ChRenief6Vx+FotV/IsSCYwbmF6Znv3ai X-Developer-Key: i=jun.nie@linaro.org; a=ed25519; pk=MNiBt/faLPvo+iJoP1hodyY2x6ozVXL8QMptmsKg3cc= From: Jonathan Marek Video mode DSC won't work if this field is not set correctly. Set it to fix video mode DSC (for slice_per_pkt=3D=3D1 cases at least). Fixes: 08802f515c3c ("drm/msm/dsi: Add support for DSC configuration") Signed-off-by: Jonathan Marek Reviewed-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/dsi/dsi_host.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c b/drivers/gpu/drm/msm/dsi/d= si_host.c index 2a0422cad6de..80ea4f1d8274 100644 --- a/drivers/gpu/drm/msm/dsi/dsi_host.c +++ b/drivers/gpu/drm/msm/dsi/dsi_host.c @@ -858,6 +858,7 @@ static void dsi_update_dsc_timing(struct msm_dsi_host *= msm_host, bool is_cmd_mod u32 slice_per_intf, total_bytes_per_intf; u32 pkt_per_line; u32 eol_byte_num; + u32 bytes_per_pkt; =20 /* first calculate dsc parameters and then program * compress mode registers @@ -865,6 +866,7 @@ static void dsi_update_dsc_timing(struct msm_dsi_host *= msm_host, bool is_cmd_mod slice_per_intf =3D msm_dsc_get_slices_per_intf(dsc, hdisplay); =20 total_bytes_per_intf =3D dsc->slice_chunk_size * slice_per_intf; + bytes_per_pkt =3D dsc->slice_chunk_size; /* * slice_per_pkt; */ =20 eol_byte_num =3D total_bytes_per_intf % 3; =20 @@ -902,6 +904,7 @@ static void dsi_update_dsc_timing(struct msm_dsi_host *= msm_host, bool is_cmd_mod dsi_write(msm_host, REG_DSI_COMMAND_COMPRESSION_MODE_CTRL, reg_ctrl); dsi_write(msm_host, REG_DSI_COMMAND_COMPRESSION_MODE_CTRL2, reg_ctrl2); } else { + reg |=3D DSI_VIDEO_COMPRESSION_MODE_CTRL_WC(bytes_per_pkt); dsi_write(msm_host, REG_DSI_VIDEO_COMPRESSION_MODE_CTRL, reg); } } --=20 2.34.1 From nobody Mon Feb 9 12:54:31 2026 Received: from mail-pl1-f179.google.com (mail-pl1-f179.google.com [209.85.214.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B9D856FE1D for ; Wed, 3 Apr 2024 09:11:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712135499; cv=none; b=g5h93vFZ/+1z9mJJHm7TaJB9gsZ545gqreVbylhZ5axjyraT1+sFBWv7JHyJ9lWL1ZGHXhzf8vJKRQYHyO8l3t4cFUvU321UM6zHsCsLIfXGwXpiK/xDkVgn0hb2GKOqLEBvtgWH/AwifKWCQ/2KL1ap+Pu4cg+tVhLSuX6Xo5U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712135499; c=relaxed/simple; bh=dA9w5cYqVEFj/cyAADWyuxfZfHcRIjXDTZ5b4w0V9fo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=UIw1M8FrEHyJm8j8RxLklSN1VNEqauiHsFkXg5PlcKKbnLzsp5jE+0HS4wFLde/zA5iP4ZvHTqIsaemAjIOptlWeANA4XtZyy90lROQvMf0THX5h4u36CsqKqMTteVBfZB5uffe3I1C4ZXKxuJuDc5SGa9CU5m7jXmfG7Sn032g= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=ckzVL5RH; arc=none smtp.client-ip=209.85.214.179 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="ckzVL5RH" Received: by mail-pl1-f179.google.com with SMTP id d9443c01a7336-1e0d82d441bso55086045ad.3 for ; Wed, 03 Apr 2024 02:11:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1712135496; x=1712740296; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=9hWxdEOmU4e6legIFUkyIF7zkRnOsSH8ACzlOjPdkh8=; b=ckzVL5RHpjOxGuQj1Ai93bcL7r6h+YFNegavq2gxk7p3i5qsenL64AqEC8F9ESD7ei 3IvVJ7/Ik4mOwjrt/KTrL0ns2QWAJ2CWe2lC2I0EJID79MrOi+A/g0pSsXJZVq97CqLp 50URucood7St101amjJe2LES2VlfPEUloNdswuTNY0BPbdaCY0zYM5S4dyELctQYSrip ubFoDQM/1XSSzx7QB0SnHuBPKTlH3yv21ktDz/QFruCPQs1qMV5h6shzPVvmzuU7W/UL HPx7TY4YfvDg91K1aV4zsjx45q7NBNnX2V1flf5dcWq60o5oCeQL2Ze7j5iHMyGSp2v6 ryug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712135496; x=1712740296; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=9hWxdEOmU4e6legIFUkyIF7zkRnOsSH8ACzlOjPdkh8=; b=jMCtsgUsq5wv5+3pMQeqauBvruxNLBLkG1J/uBaQCn1XRIM2rnerfGLJLaEMmQi/CU xNzCxDJIgyhutCbmdvbcOzXJAdC4lfhBGGjWj0jnKBm20hH0yO0yvJri9L6Z01YxWbWb t4MKNzgCKiOQq+1kDy2Zx+CuATiXazabQqvipZ7uFFJuuMVul06ozDO7XYmXtLHm0L1V pvK7KxLBa78xn+miYkPJidmPelKlw29NN0gJV5ZXeYx5gyANRYnyQZwugIuC9v/QVv5G 26P/BOrD5WcaeeUvGaSXON+mUqFoBAzXNvJ18lwjfzqSM5OHWucdPEhLus6wsscYQ5aK 5UwA== X-Forwarded-Encrypted: i=1; AJvYcCWFQC3LWrfucJzmPVJCyEDmTcb6ZRgfETtj0ecrrVWGds8G+ny/Tm6ZRnE1KKQFuKUpO4N7GKsNZsY07ye9BeRFgllnJPI47jiZyDrR X-Gm-Message-State: AOJu0YxWtnHZYN5ba1VIaB9TyZrbkUHfUbahzIHDZ3v5OZSKQBNpImxm Kyed9txi8HDCLU/SqT25nHRw6Mh7PwkN6ktUEMGBgHxWUuW+QXx0dZLkmyDhC8Nbytf0fHvcxLA dLz5WAg== X-Google-Smtp-Source: AGHT+IEyWqFwLOjN3DoRlpo+4Cc/2ygcGvENqA9aW1FSgOsYovoVqqyZlsMxzOzAo8DY7Gr1mb6hXA== X-Received: by 2002:a17:902:ba89:b0:1e0:1bb2:b38f with SMTP id k9-20020a170902ba8900b001e01bb2b38fmr1861834pls.59.1712135496335; Wed, 03 Apr 2024 02:11:36 -0700 (PDT) Received: from [127.0.1.1] ([112.65.12.66]) by smtp.gmail.com with ESMTPSA id lo14-20020a170903434e00b001e0aded0ca7sm12688087plb.239.2024.04.03.02.11.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 03 Apr 2024 02:11:35 -0700 (PDT) From: Jun Nie Date: Wed, 03 Apr 2024 17:11:00 +0800 Subject: [PATCH v3 4/6] drm/msm/dsi: add a comment to explain pkt_per_line encoding Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20240403-msm-drm-dsc-dsi-video-upstream-v1-4-db5036443545@linaro.org> References: <20240403-msm-drm-dsc-dsi-video-upstream-v1-0-db5036443545@linaro.org> In-Reply-To: <20240403-msm-drm-dsc-dsi-video-upstream-v1-0-db5036443545@linaro.org> To: Rob Clark , Abhinav Kumar , Dmitry Baryshkov , Sean Paul , Marijn Suijten , David Airlie , Daniel Vetter , Jessica Zhang , Vinod Koul Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, Jun Nie , Jonathan Marek X-Mailer: b4 0.13.0 X-Developer-Signature: v=1; a=ed25519-sha256; t=1712135460; l=1185; i=jun.nie@linaro.org; s=20240403; h=from:subject:message-id; bh=Px8G3VT/pPMatEDJd8W5yLoDD+nxWLUBSZSRl+j+Bac=; b=GouXgYabwVWTVj3bHeksyAclYhr+CiBGfhejkhmQ72YqrJmdWZDRL9rczqXKkqVvK6U3n59oc Jop7S7F3ONhAPe9XAtU0TkJ5J1p3pJJ6BIpzfOAN3HGhKpSG0lzgNdq X-Developer-Key: i=jun.nie@linaro.org; a=ed25519; pk=MNiBt/faLPvo+iJoP1hodyY2x6ozVXL8QMptmsKg3cc= From: Jonathan Marek Make it clear why the pkt_per_line value is being "divided by 2". Signed-off-by: Jonathan Marek Reviewed-by: Dmitry Baryshkov Signed-off-by: Jun Nie --- drivers/gpu/drm/msm/dsi/dsi_host.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c b/drivers/gpu/drm/msm/dsi/d= si_host.c index 80ea4f1d8274..b0507a42ee6a 100644 --- a/drivers/gpu/drm/msm/dsi/dsi_host.c +++ b/drivers/gpu/drm/msm/dsi/dsi_host.c @@ -886,7 +886,11 @@ static void dsi_update_dsc_timing(struct msm_dsi_host = *msm_host, bool is_cmd_mod /* DSI_VIDEO_COMPRESSION_MODE & DSI_COMMAND_COMPRESSION_MODE * registers have similar offsets, so for below common code use * DSI_VIDEO_COMPRESSION_MODE_XXXX for setting bits + * + * pkt_per_line is log2 encoded, >>1 works for supported values (1,2,4) */ + if (pkt_per_line > 4) + drm_warn(msm_host->dev, "pkt_per_line too big"); reg |=3D DSI_VIDEO_COMPRESSION_MODE_CTRL_PKT_PER_LINE(pkt_per_line >> 1); reg |=3D DSI_VIDEO_COMPRESSION_MODE_CTRL_EOL_BYTE_NUM(eol_byte_num); reg |=3D DSI_VIDEO_COMPRESSION_MODE_CTRL_EN; --=20 2.34.1 From nobody Mon Feb 9 12:54:31 2026 Received: from mail-pl1-f179.google.com (mail-pl1-f179.google.com [209.85.214.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B7A4B6FE34 for ; Wed, 3 Apr 2024 09:11:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712135506; cv=none; b=o5RrC1NMIvILnAbaYRbmiGzKm0qn85t/HZWADtRhKTzaSL0KqBqALDnt4+tN7/PjWXEGKpJSBKdLKfeoNXwlxZuGz4Yq4ECr1b1xVDBFUSZedKYfvxhb+eEhwvR4FVN0RWbnAIZhGLETwRuZp7Kvfw9qOu6B/h5NVQuhjzXg2E4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712135506; c=relaxed/simple; bh=MU4Swq5XDKyEWa3JYSzWqbeemF0ZbJTcthPE2KJsZos=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=moHkqhkdpOpzP/4NSrjMqm1ur6nUSq5rXEph3ycHtjYkc4eJL4ZY56LprvC+14GhqtQCfn9yahpteXqU5ywLkDpc8WJ9nD/ZsinSSk4MLPMnzlmSC+AXLQxs3XZgZsUr6bTshuIk9YNGGEfXA4uZ3sSbtw9bGeXwW+EO5mdOkkg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=oqEBqIGJ; arc=none smtp.client-ip=209.85.214.179 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="oqEBqIGJ" Received: by mail-pl1-f179.google.com with SMTP id d9443c01a7336-1e296c7aa7cso2307685ad.1 for ; Wed, 03 Apr 2024 02:11:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1712135503; x=1712740303; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=NOuu3sNA+84lczt5jxnbeGrnj9MwNeOoooH77NlU9Y0=; b=oqEBqIGJOQDtJMGZiW52ZTLuPgwStnwwL4QEXGO7fXl4BxgmSZCSyfecREMUAoAi0I VoDvBER8PNZQ4DxejSsgK9wRMh5UTUGAxaRpqnSmnPSNya8yKu8wuus//T99ptEorrlh uqcyX5WwkAkq9V5IRbUU7a3b4XHOYGX0xyZUBeaO98S6yIH4RVovoMX9RSf2ZWvmvHhu 78rk6HhuKJsnPFzmXRcvvOAYt1gm7tk53SSXk24fnC2kYlP9q1mWpNpm7AOhyDNqbpZw rj/S0CD87zQHyYG6lnN9tU6tddhmm690z9Q2YA/nQto5cE24Cw4ui1Vyl0xO9FU8BoXy QHlQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712135503; x=1712740303; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=NOuu3sNA+84lczt5jxnbeGrnj9MwNeOoooH77NlU9Y0=; b=l5cty+vCj5QRPpyPH3NQtW+CjFa0GD0wdmFZIRtQ+34QjdexaMCrm548fi3se5TmOW pHhapi11WpCRDENWVKPICM9vDsnpQNciptSErKyVVQeOU08ySPSyc0B1KyQLHATKTZ6d ulf2H1ha6mfw9uNE0rNlECrXx/zsj/ekM7d7k7obRLrnBnIp1naNOfipl1jo6avXWtQI dwxOqUwvfdfj6cSFHJTl4fTTVQB12IX9gK0oOP9obhuys29OnznvZRXqh+LNHrNn76uG VWuFr3GEHS19s0qP2rT+tZa8skcP/7g+l75kzJxdv6rpc2lcsCX9orpchESdR3fHqo93 oF0A== X-Forwarded-Encrypted: i=1; AJvYcCV4+EHjYBqKMhjK/xd49qmaMfnIjK9wWRQ6TOaiIIdXFxSymfLg1jQmnpHjkWkm6fnufjaQsFtNKWPMXZkQRNiobLIqbTziU4G/oJBY X-Gm-Message-State: AOJu0Yz0smOG+lGooxSne5VKU9UDegHyeHY2k1uSneN15zPqWB0A095c 77fBFrrVwxrT+d9DFZtH3yDz1xlKjlu+nVA/WV4Y7oUp91Yq7RLbv4MnB57svREYiSPXdqhm/6B 2SamMDA== X-Google-Smtp-Source: AGHT+IGE6QcA79jB0k2Li5lWPr2yvCO9+FLkeHddHmJdCmFiKZKqU+kbSjtNfgztpVuY/0gLGWy1dw== X-Received: by 2002:a17:902:c94f:b0:1e0:a784:f965 with SMTP id i15-20020a170902c94f00b001e0a784f965mr18198301pla.65.1712135502878; Wed, 03 Apr 2024 02:11:42 -0700 (PDT) Received: from [127.0.1.1] ([112.65.12.66]) by smtp.gmail.com with ESMTPSA id lo14-20020a170903434e00b001e0aded0ca7sm12688087plb.239.2024.04.03.02.11.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 03 Apr 2024 02:11:42 -0700 (PDT) From: Jun Nie Date: Wed, 03 Apr 2024 17:11:01 +0800 Subject: [PATCH v3 5/6] drm/display: Add slice_per_pkt for dsc Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20240403-msm-drm-dsc-dsi-video-upstream-v1-5-db5036443545@linaro.org> References: <20240403-msm-drm-dsc-dsi-video-upstream-v1-0-db5036443545@linaro.org> In-Reply-To: <20240403-msm-drm-dsc-dsi-video-upstream-v1-0-db5036443545@linaro.org> To: Rob Clark , Abhinav Kumar , Dmitry Baryshkov , Sean Paul , Marijn Suijten , David Airlie , Daniel Vetter , Jessica Zhang , Vinod Koul Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, Jun Nie X-Mailer: b4 0.13.0 X-Developer-Signature: v=1; a=ed25519-sha256; t=1712135460; l=867; i=jun.nie@linaro.org; s=20240403; h=from:subject:message-id; bh=MU4Swq5XDKyEWa3JYSzWqbeemF0ZbJTcthPE2KJsZos=; b=hpx8rqn0NW6jrZNlHbx/VHfFHcMfnFnfZNwaA4Q9oljlHNkFfqChP0YhKK5MS9joROjHj9ZCY Ys/IqPqN+8uDp67ZK5JQqci2IhuEveJuFZTRbjjhY/AmRAejQSlMBMT X-Developer-Key: i=jun.nie@linaro.org; a=ed25519; pk=MNiBt/faLPvo+iJoP1hodyY2x6ozVXL8QMptmsKg3cc= Add variable for slice number of a DSC compression bit stream packet. Its value shall be specified in panel driver, or default value can be set in display controller driver if panel driver does not set it. Signed-off-by: Jun Nie --- include/drm/display/drm_dsc.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/drm/display/drm_dsc.h b/include/drm/display/drm_dsc.h index bc90273d06a6..4fac0a2746ae 100644 --- a/include/drm/display/drm_dsc.h +++ b/include/drm/display/drm_dsc.h @@ -82,6 +82,10 @@ struct drm_dsc_config { * @bits_per_component: Bits per component to code (8/10/12) */ u8 bits_per_component; + /** + * @slice_per_pkt: slice number per DSC bit stream packet + */ + u8 slice_per_pkt; /** * @convert_rgb: * Flag to indicate if RGB - YCoCg conversion is needed --=20 2.34.1 From nobody Mon Feb 9 12:54:31 2026 Received: from mail-pl1-f174.google.com (mail-pl1-f174.google.com [209.85.214.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 049177172C for ; Wed, 3 Apr 2024 09:11:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712135514; cv=none; b=TFUY/QQ4GNOWMtpD4qSqnXdhIEjLLU/476Ohgj8SR70FkdIhGK6DSL8vagDBGlc7fIP+BmIR925nqbuispcVASqJL6EtMoPH/OGY2mMIFVPYySnI3UzJXNx/DeedvOJt9+5wORFJmFEOH3sA3MAqPGZd2FcY8Os1UPT0gAR9SY4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712135514; c=relaxed/simple; bh=1XtJXIGk14lZrEJ9Tlq+RINoht3cGrh52Xe3iqyl35I=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=H4HgZM5PzKL091ehf10OL+fHx78WeHKnNsXnRfC81+6ZBLOVVcws2P7fDugGdPrRAzHsmEEpyoqQgLUeBC54Dl4S7XqlIpw6u0Im/IbdvMX1t+XMqolRvTybc/hgVaiOCGxVMk4pcINwV/yRy+Pdk005gQ5v1qdrqLyh61gokEo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=HIlU6+2w; arc=none smtp.client-ip=209.85.214.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="HIlU6+2w" Received: by mail-pl1-f174.google.com with SMTP id d9443c01a7336-1e0d82d441bso55087655ad.3 for ; Wed, 03 Apr 2024 02:11:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1712135511; x=1712740311; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=+nFa+DoX75Gh3LGa/SLXrbw1YnZbOgzc+2X5SVpsYKU=; b=HIlU6+2wyFc4KSxDcw+VKgRUdgvSOHiJDkzPu0KlrnJxO9mYxk/U3Sv+lvEeSJ2BxI Qt5etAYsGXS/Oj+B0M+TsU89kdS1KyfOd8qh68TK/EKAsNPR5IC1u8ZaHBjdd/R5vf1a /AalUHkxzBVLRDsE+l4GaESGJ51pPvCbRg+Zrn+jZYQTREpSbBK2dGL60Ybgy6S5JlTi uflmDpGDbXyT+bqYL4OQMoWw9tYZ6JWXE85UmA4sdP+isXpP2m+w1JxQ3iuvDhkZpADe fh4tZBCgDmkqsYZpVXhD0nJnnh7ed34YYGObDUOtrWzMJcKuxsF+62/f+WrkfZUf7X6e uX3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712135511; x=1712740311; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+nFa+DoX75Gh3LGa/SLXrbw1YnZbOgzc+2X5SVpsYKU=; b=HwV/qw7xcbfikEVnRnVScvY8Afo8IMHWhATUOB/uXHE7Un5OE03o3QV1KAMVKsfecf gtL/ZTf0ZLO3rQj++alzItTS1cSS+o5fLiMW5OrtJengIcepj5KFf5DLPEl39PIc/Vgg 9RKl3FoHFAdC6KsrsiuZpCnsc421qcZU2X3z/A6A9S3wXGfx2Ct3AB+nh4ipsOsydZOu 4IfdIAnKKNpqUXfY/nrnYcoz4KWUc8fpholmgg40woCumumjQRNs4GtvZ//vk+ag0hkq k8Hjly0K6AkJRbEJCPfYFWquRcMmn0MaZ0PNnLoBFAHaQ4gDKQ7xQlE2dAfMqq59jw5i AGsA== X-Forwarded-Encrypted: i=1; AJvYcCXIx6WAyE7u6nHtw2+uncU52gYoShYeZ1xJ+VpuB/LZA+ghvC4lQoExW/WdHVjfHbpJ73dbRAm97t1851DvfitUj2d6P13YrntWH5fg X-Gm-Message-State: AOJu0YyCxX/2wo0j168fVXJID1c31FwnY+v/IkZOK/IdP6CdN0lr6O4r XgYUb73nC3qyx8/50jlWl7m0wlRTSFqQylqB9lDqv1WgD0ptSKo+OJYpfJ9RzXe5iPRmU4FDVJ7 ZQllCVA== X-Google-Smtp-Source: AGHT+IGDKZpi6IzWPwxcA3gkwURqgiirh03g+6YOT47tXCPNep36CItbq3BtloN4WYOSIhk1Xi88sQ== X-Received: by 2002:a17:903:18f:b0:1e2:920a:4add with SMTP id z15-20020a170903018f00b001e2920a4addmr1179553plg.16.1712135511328; Wed, 03 Apr 2024 02:11:51 -0700 (PDT) Received: from [127.0.1.1] ([112.65.12.66]) by smtp.gmail.com with ESMTPSA id lo14-20020a170903434e00b001e0aded0ca7sm12688087plb.239.2024.04.03.02.11.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 03 Apr 2024 02:11:50 -0700 (PDT) From: Jun Nie Date: Wed, 03 Apr 2024 17:11:02 +0800 Subject: [PATCH v3 6/6] drm/msm/dsi: support DSC configurations with slice_per_pkt > 1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20240403-msm-drm-dsc-dsi-video-upstream-v1-6-db5036443545@linaro.org> References: <20240403-msm-drm-dsc-dsi-video-upstream-v1-0-db5036443545@linaro.org> In-Reply-To: <20240403-msm-drm-dsc-dsi-video-upstream-v1-0-db5036443545@linaro.org> To: Rob Clark , Abhinav Kumar , Dmitry Baryshkov , Sean Paul , Marijn Suijten , David Airlie , Daniel Vetter , Jessica Zhang , Vinod Koul Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, Jun Nie , Jonathan Marek X-Mailer: b4 0.13.0 X-Developer-Signature: v=1; a=ed25519-sha256; t=1712135460; l=4300; i=jun.nie@linaro.org; s=20240403; h=from:subject:message-id; bh=KdBFnUu2Qm6ZZ65hBcXTk+Bm1tsC1DSuVU4sJTWGxzk=; b=0c+GOay4d8sYuEfmKXCY3qnC69M5LNKT/bdL1VuwVHTTHSJMUP6DvEIlrEPtXbRf7brwZBC9G THfCXQuOr93AkNUmqicPhAO7A7LuE1Xr9W6EM3TZrI+KgKHpwS6Ti1a X-Developer-Key: i=jun.nie@linaro.org; a=ed25519; pk=MNiBt/faLPvo+iJoP1hodyY2x6ozVXL8QMptmsKg3cc= From: Jonathan Marek Support slice_per_pkt in msm driver. Note that the removed "pkt_per_line =3D slice_per_intf * slice_per_pkt" comment is incorrect. Also trim the code to simplify the dsc reference. Signed-off-by: Jonathan Marek Signed-off-by: Jun Nie --- drivers/gpu/drm/msm/dsi/dsi_host.c | 35 ++++++++++++++--------------------- 1 file changed, 14 insertions(+), 21 deletions(-) diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c b/drivers/gpu/drm/msm/dsi/d= si_host.c index b0507a42ee6a..0c6f40dbd25c 100644 --- a/drivers/gpu/drm/msm/dsi/dsi_host.c +++ b/drivers/gpu/drm/msm/dsi/dsi_host.c @@ -866,17 +866,10 @@ static void dsi_update_dsc_timing(struct msm_dsi_host= *msm_host, bool is_cmd_mod slice_per_intf =3D msm_dsc_get_slices_per_intf(dsc, hdisplay); =20 total_bytes_per_intf =3D dsc->slice_chunk_size * slice_per_intf; - bytes_per_pkt =3D dsc->slice_chunk_size; /* * slice_per_pkt; */ - + bytes_per_pkt =3D dsc->slice_chunk_size * dsc->slice_per_pkt; eol_byte_num =3D total_bytes_per_intf % 3; =20 - /* - * Typically, pkt_per_line =3D slice_per_intf * slice_per_pkt. - * - * Since the current driver only supports slice_per_pkt =3D 1, - * pkt_per_line will be equal to slice per intf for now. - */ - pkt_per_line =3D slice_per_intf; + pkt_per_line =3D slice_per_intf / dsc->slice_per_pkt; =20 if (is_cmd_mode) /* packet data type */ reg =3D DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM0_DATATYPE(MIPI_DSI_DCS_= LONG_WRITE); @@ -916,6 +909,7 @@ static void dsi_update_dsc_timing(struct msm_dsi_host *= msm_host, bool is_cmd_mod static void dsi_timing_setup(struct msm_dsi_host *msm_host, bool is_bonded= _dsi) { struct drm_display_mode *mode =3D msm_host->mode; + struct drm_dsc_config *dsc =3D msm_host->dsc; u32 hs_start =3D 0, vs_start =3D 0; /* take sync start as 0 */ u32 h_total =3D mode->htotal; u32 v_total =3D mode->vtotal; @@ -947,8 +941,7 @@ static void dsi_timing_setup(struct msm_dsi_host *msm_h= ost, bool is_bonded_dsi) hdisplay /=3D 2; } =20 - if (msm_host->dsc) { - struct drm_dsc_config *dsc =3D msm_host->dsc; + if (dsc) { u32 bytes_per_pclk; =20 /* update dsc params with timing params */ @@ -988,14 +981,14 @@ static void dsi_timing_setup(struct msm_dsi_host *msm= _host, bool is_bonded_dsi) else bytes_per_pclk =3D 3; =20 - hdisplay =3D DIV_ROUND_UP(msm_dsc_get_bytes_per_line(msm_host->dsc), byt= es_per_pclk); + hdisplay =3D DIV_ROUND_UP(msm_dsc_get_bytes_per_line(dsc), bytes_per_pcl= k); =20 h_total +=3D hdisplay; ha_end =3D ha_start + hdisplay; } =20 if (msm_host->mode_flags & MIPI_DSI_MODE_VIDEO) { - if (msm_host->dsc) + if (dsc) dsi_update_dsc_timing(msm_host, false, mode->hdisplay); =20 dsi_write(msm_host, REG_DSI_ACTIVE_H, @@ -1016,21 +1009,17 @@ static void dsi_timing_setup(struct msm_dsi_host *m= sm_host, bool is_bonded_dsi) DSI_ACTIVE_VSYNC_VPOS_START(vs_start) | DSI_ACTIVE_VSYNC_VPOS_END(vs_end)); } else { /* command mode */ - if (msm_host->dsc) + if (dsc) dsi_update_dsc_timing(msm_host, true, mode->hdisplay); =20 /* image data and 1 byte write_memory_start cmd */ - if (!msm_host->dsc) + if (!dsc) wc =3D hdisplay * mipi_dsi_pixel_format_to_bpp(msm_host->format) / 8 + = 1; else /* * When DSC is enabled, WC =3D slice_chunk_size * slice_per_pkt + 1. - * Currently, the driver only supports default value of slice_per_pkt = =3D 1 - * - * TODO: Expand mipi_dsi_device struct to hold slice_per_pkt info - * and adjust DSC math to account for slice_per_pkt. */ - wc =3D msm_host->dsc->slice_chunk_size + 1; + wc =3D dsc->slice_chunk_size * dsc->slice_per_pkt + 1; =20 dsi_write(msm_host, REG_DSI_CMD_MDP_STREAM0_CTRL, DSI_CMD_MDP_STREAM0_CTRL_WORD_COUNT(wc) | @@ -1657,8 +1646,12 @@ static int dsi_host_attach(struct mipi_dsi_host *hos= t, msm_host->lanes =3D dsi->lanes; msm_host->format =3D dsi->format; msm_host->mode_flags =3D dsi->mode_flags; - if (dsi->dsc) + if (dsi->dsc) { msm_host->dsc =3D dsi->dsc; + /* for backwards compatibility, assume 1 if not set */ + if (!dsi->dsc->slice_per_pkt) + dsi->dsc->slice_per_pkt =3D 1; + } =20 /* Some gpios defined in panel DT need to be controlled by host */ ret =3D dsi_host_init_panel_gpios(msm_host, &dsi->dev); --=20 2.34.1