[Freedreno] [RFC PATCH v2 04/13] drm/msm/dpu: remove unused fields from dpu_encoder_virt
Dmitry Baryshkov
dmitry.baryshkov at linaro.org
Tue Jun 6 20:29:18 UTC 2023
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.
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?).
>
>> * @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;
--
With best wishes
Dmitry
More information about the dri-devel
mailing list