• Suraj Kandpal's avatar
    drm/i915/vdsc: Add function to read any PPS register · bd077259
    Suraj Kandpal authored
    Add function to read any PPS register based on the
    intel_dsc_pps enum provided. Add a function which will call the
    new pps read function and place it in crtc state. Only PPS0 and
    PPS1 are readout the rest of the registers will be read in upcoming
    patches.
    
    --v2
    -Changes in read function as PPS enum is removed
    -Initialize pps_val as 0 in pps_read func itself [Jani]
    -Create a function that gets the required register and call that
    in the common read function [Jani]
    -Move the drm_WARN_ON one abstraction layer above [Jani]
    
    --v3
    -Send both reg values regardless of dsc engine no [Jani]
    -Don't use num_vdsc_instances stick to dsc_split field [Ankit]
    
    --v4
    -Manipulate the reg values instead of creating MACRO to change
    name of pps [Ankit]
    
    --v5
    -Read dsc reg values using array rather than individual variables
    [Ankit]
    -Loop the verification of all dsc engine reads to future proof it
    [Ankit]
    -Keep the fix me comment in this patch and remove it in later one
    where we add other readouts [Ankit]
    -Add switch statement that fills in the required registers based on
    no of vdsc engines per pipe.
    
    --v7
    -Pass no of vdsc instances from read_reg function [Ankit]
    -Fix issue where arrays do not get freed on return for read_and_verify
    func [Ankit]
    
    --v8
    -Simplify reading and verifying of register and remove dynamically
    allocated arrays [Jani]
    -Remove no_ from no_vdsc_per_pipe and wherever else it applies [Ankit]
    
    --v9
    -change variable name to dsc_reg_size rather than vdsc_per_pipe [Ankit]
    
    --v10
    -remove switch case as we never enter case1 [Ankit]
    
    --v11
    -Add _ prefix for register that are not supposed to be used directly
    [Jani]
    -Remove REG suffix from register macros [Jani]
    -Do not duplicate register read [Jani]
    
    --v12
    -Use vdsc_per_pipe rather than array size of dsc_reg [Jani]
    Signed-off-by: default avatarSuraj Kandpal <suraj.kandpal@intel.com>
    Reviewed-by: default avatarAnkit Nautiyal <ankit.k.nautiyal@intel.com>
    Signed-off-by: default avatarAnimesh Manna <animesh.manna@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20230828054300.560559-5-suraj.kandpal@intel.com
    bd077259
intel_vdsc_regs.h 27.4 KB