[Freedreno] [RFC PATCH v2 04/13] drm/msm/dpu: remove unused fields from dpu_encoder_virt
Abhinav Kumar
quic_abhinavk at quicinc.com
Tue Jun 6 20:36:23 UTC 2023
On 6/6/2023 1:29 PM, Dmitry Baryshkov wrote:
> On 06/06/2023 23:25, Abhinav Kumar wrote:
>>
>>
>> On 3/20/2023 6:18 PM, Dmitry Baryshkov wrote:
>>> Remove historical fields intfs_swapped and topology fields from struct
>>> dpu_encoder_virt and also remove even more historical docs.
>>>
>>> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov at linaro.org>
>>> ---
>>> drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 10 ----------
>>> 1 file changed, 10 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
>>> b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
>>> index 28729c77364f..4ee708264f3b 100644
>>> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
>>> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
>>> @@ -130,18 +130,12 @@ enum dpu_enc_rc_states {
>>> * pingpong blocks can be different than num_phys_encs.
>>> * @hw_dsc: Handle to the DSC blocks used for the display.
>>> * @dsc_mask: Bitmask of used DSC blocks.
>>> - * @intfs_swapped: Whether or not the phys_enc interfaces have
>>> been swapped
>>> - * for partial update right-only cases, such as pingpong
>>> - * split where virtual pingpong does not generate IRQs
>>> * @crtc: Pointer to the currently assigned crtc. Normally you
>>> * would use crtc->state->encoder_mask to determine the
>>> * link between encoder/crtc. However in this case we need
>>> * to track crtc in the disable() hook which is called
>>> * _after_ encoder_mask is cleared.
>>> * @connector: If a mode is set, cached pointer to the
>>> active connector
>>> - * @crtc_kickoff_cb: Callback into CRTC that will flush & start
>>> - * all CTL paths
>>> - * @crtc_kickoff_cb_data: Opaque user data given to crtc_kickoff_cb
>>
>> no concerns with the above 3
>>
>>> * @enc_lock: Lock around physical encoder
>>> * create/destroy/enable/disable
>>> * @frame_busy_mask: Bitmask tracking which phys_enc we are
>>> still
>>> @@ -160,7 +154,6 @@ enum dpu_enc_rc_states {
>>> * @delayed_off_work: delayed worker to schedule disabling of
>>> * clks and resources after IDLE_TIMEOUT time.
>>> * @vsync_event_work: worker to handle vsync event for
>>> autorefresh
>>> - * @topology: topology of the display
>>
>> As we are still going to go ahead with encoder based allocation for
>> now, we should keep this topology and start using it for DP DSC's
>> 1:1:1 topology.
>
> It is currently unused, so it can be dropped. Your patchset would have
> to reintroduce it.
>
Ok same old argument which I tend to always lose. We will add it back
with DP DSC.
> And I'm still not happy about the encoder-based allocation. You
> persuaded me that it is irrelevant for the wide planes. So I'd split it
> and post the allocation patchset after the virtual-wide is fully
> reviewed (when would come that blissful moment, btw?).
>
Post the allocation with a compelling feature for us to be convinced.
The moment is happening as we speak :)
>>
>>> * @idle_timeout: idle timeout duration in milliseconds
>>> * @wide_bus_en: wide bus is enabled on this interface
>>> * @dsc: drm_dsc_config pointer, for DSC-enabled encoders
>>> @@ -180,8 +173,6 @@ struct dpu_encoder_virt {
>>> unsigned int dsc_mask;
>>> - bool intfs_swapped;
>>> -
>>> struct drm_crtc *crtc;
>>> struct drm_connector *connector;
>>> @@ -201,7 +192,6 @@ struct dpu_encoder_virt {
>>> enum dpu_enc_rc_states rc_state;
>>> struct delayed_work delayed_off_work;
>>> struct kthread_work vsync_event_work;
>>> - struct msm_display_topology topology;
>>> u32 idle_timeout;
>
More information about the Freedreno
mailing list