linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Abhinav Kumar <quic_abhinavk@quicinc.com>
To: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>,
	Marijn Suijten <marijn.suijten@somainline.org>,
	Jessica Zhang <quic_jesszhan@quicinc.com>
Cc: Rob Clark <robdclark@gmail.com>, Sean Paul <sean@poorly.run>,
	David Airlie <airlied@gmail.com>, Daniel Vetter <daniel@ffwll.ch>,
	<linux-arm-msm@vger.kernel.org>,
	<freedreno@lists.freedesktop.org>,
	<dri-devel@lists.freedesktop.org>, <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 2/3] drm/msm/dpu: Set DATABUS_WIDEN on command mode encoders
Date: Wed, 21 Jun 2023 16:01:26 -0700	[thread overview]
Message-ID: <7d5256cd-c0bd-36e3-9b59-63ad8595f0ce@quicinc.com> (raw)
In-Reply-To: <8dcd643f-9644-a4e7-a0d5-eefa28084a88@linaro.org>



On 6/21/2023 9:36 AM, Dmitry Baryshkov wrote:
> On 21/06/2023 18:17, Marijn Suijten wrote:
>> On 2023-06-20 14:38:34, Jessica Zhang wrote:
>> <snip>
>>>>>>>> +    if (phys_enc->hw_intf->ops.enable_widebus)
>>>>>>>> +        phys_enc->hw_intf->ops.enable_widebus(phys_enc->hw_intf);
>>>>>>>
>>>>>>> No. Please provide a single function which takes necessary
>>>>>>> configuration, including compression and wide_bus_enable.
>>>>>>>
>>>>>>
>>>>>> There are two ways to look at this. Your point is coming from the
>>>>>> perspective that its programming the same register but just a 
>>>>>> different
>>>>>> bit. But that will also make it a bit confusing.
>>>>
>>>> My point is to have a high-level function that configures the INTF for
>>>> the CMD mode. This way it can take a structure with necessary
>>>> configuration bits.
>>>
>>> Hi Dmitry,
>>>
>>> After discussing this approach with Abhinav, we still have a few
>>> questions about it:
>>>
>>> Currently, only 3 of the 32 bits for INTF_CONFIG2 are being used (the
>>> rest are reserved with no plans of being programmed in the future). Does
>>> this still justify the use of a struct to pass in the necessary
>>> configuration?
>>
>> No.  The point Dmitry is making is **not** about this concidentally
>> using the same register, but about adding a common codepath to enable
>> compression on this hw_intf (regardless of the registers it needs to
>> touch).
> 
> Actually to setup INTF for CMD stream (which is equal to setting up 
> compression at this point).
> 

Yes it should be setup intf for cmd and not enable compression.

Widebus and compression are different features and we should be able to 
control them independently.

We just enable them together for DSI. So a separation is necessary.

But I am still not totally convinced we even need to go down the path 
for having an op called setup_intf_cmd() which takes in a struct like

struct dpu_cmd_intf_cfg {
	bool data_compress;
	bool widebus_en;
};

As we have agreed that we will not touch the video mode timing engine 
path, it leaves us with only two bits.

And like I said, its not that these two bits always go together. We want 
to be able to control them independently which means that its not 
necessary both bits program the same register one by one. We might just 
end up programming one of them if we just use widebus.

Thats why I am still leaning on keeping this approach.

>>  Similar to how dpu_hw_intf_setup_timing_engine() programs the
>> hw_intf - including widebus! - for video-mode.
>>
>> Or even more generically, have a struct similar to intf_timing_params
>> that says how the intf needs to be configured - without the caller
>> knowing about INTF_CONFIG2.
>>
>> struct dpu_hw_intf_cfg is a very good example of how we can use a single
>> struct and a single callback to configure multiple registers at once
>> based on some input parameters.
>>
>>> In addition, it seems that video mode does all its INTF_CONFIG2
>>> configuration separately in dpu_hw_intf_setup_timing_engine(). If we
>>> have a generic set_intf_config2() op, it might be good to have it as
>>> part of a larger cleanup where we have both video and command mode use
>>> the generic op. What are your thoughts on this?
>>
>> Not in that way, but if there is a generic enable_compression() or
>> configure_compression() callback (or even more generic, similar to
>> setup_intf_cfg in dpu_hw_ctl) that would work for both video-mode and
>> command-mode, maybe that is beneficial.
> 
> I'd rather not do this. Let's just 'setup timing enging' vs 'setup CMD'. 
> For example, it might also include setting up other INTF parameters for 
> CMD mode (if anything is required later on).
> 

Agreed on setup CMD but I dont know whether we need a setup CMD at all.
Seems like an overkill.

>>
>> - Marijn
> 

  parent reply	other threads:[~2023-06-21 23:01 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-14  1:57 [PATCH 0/3] Add support for databus widen mode Jessica Zhang
2023-06-14  1:57 ` [PATCH 1/3] drm/msm/dpu: Add DPU_INTF_DATABUS_WIDEN feature flag for DPU >= 5.0 Jessica Zhang
2023-06-14  7:50   ` Dmitry Baryshkov
2023-06-14 11:42   ` Marijn Suijten
2023-06-14 12:01     ` Dmitry Baryshkov
2023-06-14 12:23       ` Marijn Suijten
2023-06-14 19:35         ` Abhinav Kumar
2023-06-14 19:54           ` Abhinav Kumar
2023-06-14 20:39             ` [Freedreno] " Abhinav Kumar
2023-06-14 20:43               ` Dmitry Baryshkov
2023-06-16 21:10                 ` Abhinav Kumar
2023-06-17  0:37                   ` Dmitry Baryshkov
2023-06-20 21:37                     ` Jessica Zhang
2023-06-20 22:11                       ` Dmitry Baryshkov
2023-06-20 23:37                         ` Jessica Zhang
2023-06-14 21:41               ` Marijn Suijten
2023-06-16 21:13                 ` Abhinav Kumar
2023-06-16 21:58                   ` Marijn Suijten
2023-06-14 22:49         ` Marijn Suijten
2023-06-16 21:06           ` Abhinav Kumar
2023-06-16 22:00             ` Marijn Suijten
2023-06-14  1:57 ` [PATCH 2/3] drm/msm/dpu: Set DATABUS_WIDEN on command mode encoders Jessica Zhang
2023-06-14  7:56   ` Dmitry Baryshkov
2023-06-16 21:18     ` Abhinav Kumar
2023-06-16 21:54       ` Marijn Suijten
2023-06-17  0:35         ` Dmitry Baryshkov
2023-06-20 21:38           ` Jessica Zhang
2023-06-20 22:10             ` Dmitry Baryshkov
2023-06-21 15:17             ` Marijn Suijten
2023-06-21 16:36               ` Dmitry Baryshkov
2023-06-21 19:00                 ` Marijn Suijten
2023-06-21 23:01                 ` Abhinav Kumar [this message]
2023-06-21 23:46                   ` Dmitry Baryshkov
2023-06-22 22:37                     ` Abhinav Kumar
2023-06-22 23:14                       ` Dmitry Baryshkov
2023-06-22 23:37                         ` [Freedreno] " Abhinav Kumar
2023-06-29 17:26                           ` Abhinav Kumar
2023-06-29 17:37                             ` Jessica Zhang
2023-06-14  1:57 ` [PATCH 3/3] drm/msm/dsi: Enable DATABUS_WIDEN for DSI command mode Jessica Zhang
2023-06-14  7:49   ` Dmitry Baryshkov
2023-06-14 10:03     ` Marijn Suijten
2023-06-22 23:04       ` Abhinav Kumar
2023-06-23  7:02         ` Marijn Suijten
2023-06-16 21:23     ` Abhinav Kumar
2023-06-14  9:56   ` Marijn Suijten
2023-06-23  0:01     ` [Freedreno] " Abhinav Kumar
2023-06-23  0:41       ` Dmitry Baryshkov
2023-06-23  7:19       ` Marijn Suijten
2023-06-23 17:29         ` Abhinav Kumar
2023-06-23 20:14           ` Marijn Suijten
2023-06-23 20:34             ` Abhinav Kumar
2023-06-23 21:33               ` Marijn Suijten
2023-06-23 21:47                 ` Abhinav Kumar
2023-06-14 10:09 ` [PATCH 0/3] Add support for databus widen mode Marijn Suijten
2023-06-16 11:30 ` Dmitry Baryshkov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7d5256cd-c0bd-36e3-9b59-63ad8595f0ce@quicinc.com \
    --to=quic_abhinavk@quicinc.com \
    --cc=airlied@gmail.com \
    --cc=daniel@ffwll.ch \
    --cc=dmitry.baryshkov@linaro.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=freedreno@lists.freedesktop.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marijn.suijten@somainline.org \
    --cc=quic_jesszhan@quicinc.com \
    --cc=robdclark@gmail.com \
    --cc=sean@poorly.run \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).