On Thu, Mar 11, 2021 at 12:17:21AM +0200, Imre Deak wrote: > Move the FB plane related functions from skl_universal_plane.c to > intel_fb.c. Some are only used by the skl plane code, but since these are all related with each other I guess it's still better to collect it all into one place. Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> > --- > drivers/gpu/drm/i915/display/intel_fb.c | 32 +++++++++++++++++ > drivers/gpu/drm/i915/display/intel_fb.h | 4 +++ > .../drm/i915/display/skl_universal_plane.c | 34 ------------------- > .../drm/i915/display/skl_universal_plane.h | 2 -- > 4 files changed, 36 insertions(+), 36 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_fb.c b/drivers/gpu/drm/i915/display/intel_fb.c > index 29b8ec087f53..977ee2acaed1 100644 > --- a/drivers/gpu/drm/i915/display/intel_fb.c > +++ b/drivers/gpu/drm/i915/display/intel_fb.c > @@ -26,3 +26,35 @@ bool is_gen12_ccs_cc_plane(const struct drm_framebuffer *fb, int plane) > return fb->modifier == I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS_CC && > plane == 2; > } > + > +int main_to_ccs_plane(const struct drm_framebuffer *fb, int main_plane) > +{ > + drm_WARN_ON(fb->dev, !is_ccs_modifier(fb->modifier) || > + (main_plane && main_plane >= fb->format->num_planes / 2)); > + > + return fb->format->num_planes / 2 + main_plane; > +} > + > +int skl_ccs_to_main_plane(const struct drm_framebuffer *fb, int ccs_plane) > +{ > + drm_WARN_ON(fb->dev, !is_ccs_modifier(fb->modifier) || > + ccs_plane < fb->format->num_planes / 2); > + > + if (is_gen12_ccs_cc_plane(fb, ccs_plane)) > + return 0; > + > + return ccs_plane - fb->format->num_planes / 2; > +} > + > +int skl_main_to_aux_plane(const struct drm_framebuffer *fb, int main_plane) > +{ > + struct drm_i915_private *i915 = to_i915(fb->dev); > + > + if (is_ccs_modifier(fb->modifier)) > + return main_to_ccs_plane(fb, main_plane); > + else if (INTEL_GEN(i915) < 11 && > + intel_format_info_is_yuv_semiplanar(fb->format, fb->modifier)) > + return 1; > + else > + return 0; > +} > diff --git a/drivers/gpu/drm/i915/display/intel_fb.h b/drivers/gpu/drm/i915/display/intel_fb.h > index 64e6a2521320..3cde53c75cb3 100644 > --- a/drivers/gpu/drm/i915/display/intel_fb.h > +++ b/drivers/gpu/drm/i915/display/intel_fb.h > @@ -14,4 +14,8 @@ bool is_ccs_plane(const struct drm_framebuffer *fb, int plane); > bool is_gen12_ccs_plane(const struct drm_framebuffer *fb, int plane); > bool is_gen12_ccs_cc_plane(const struct drm_framebuffer *fb, int plane); > > +int main_to_ccs_plane(const struct drm_framebuffer *fb, int main_plane); > +int skl_ccs_to_main_plane(const struct drm_framebuffer *fb, int ccs_plane); > +int skl_main_to_aux_plane(const struct drm_framebuffer *fb, int main_plane); > + > #endif /* __INTEL_FB_H__ */ > diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c b/drivers/gpu/drm/i915/display/skl_universal_plane.c > index 3ff1008b0b4a..9a456b3d19a9 100644 > --- a/drivers/gpu/drm/i915/display/skl_universal_plane.c > +++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c > @@ -915,40 +915,6 @@ static u32 glk_plane_color_ctl(const struct intel_crtc_state *crtc_state, > return plane_color_ctl; > } > > -static int > -main_to_ccs_plane(const struct drm_framebuffer *fb, int main_plane) > -{ > - drm_WARN_ON(fb->dev, !is_ccs_modifier(fb->modifier) || > - (main_plane && main_plane >= fb->format->num_planes / 2)); > - > - return fb->format->num_planes / 2 + main_plane; > -} > - > -int skl_ccs_to_main_plane(const struct drm_framebuffer *fb, int ccs_plane) > -{ > - drm_WARN_ON(fb->dev, !is_ccs_modifier(fb->modifier) || > - ccs_plane < fb->format->num_planes / 2); > - > - if (is_gen12_ccs_cc_plane(fb, ccs_plane)) > - return 0; > - > - return ccs_plane - fb->format->num_planes / 2; > -} > - > -static int > -skl_main_to_aux_plane(const struct drm_framebuffer *fb, int main_plane) > -{ > - struct drm_i915_private *i915 = to_i915(fb->dev); > - > - if (is_ccs_modifier(fb->modifier)) > - return main_to_ccs_plane(fb, main_plane); > - else if (INTEL_GEN(i915) < 11 && > - intel_format_info_is_yuv_semiplanar(fb->format, fb->modifier)) > - return 1; > - else > - return 0; > -} > - > static void > skl_program_plane(struct intel_plane *plane, > const struct intel_crtc_state *crtc_state, > diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.h b/drivers/gpu/drm/i915/display/skl_universal_plane.h > index 818266653630..351040b64dc7 100644 > --- a/drivers/gpu/drm/i915/display/skl_universal_plane.h > +++ b/drivers/gpu/drm/i915/display/skl_universal_plane.h > @@ -8,7 +8,6 @@ > > #include <linux/types.h> > > -struct drm_framebuffer; > struct drm_i915_private; > struct intel_crtc; > struct intel_initial_plane_config; > @@ -26,7 +25,6 @@ void skl_get_initial_plane_config(struct intel_crtc *crtc, > > int skl_format_to_fourcc(int format, bool rgb_order, bool alpha); > > -int skl_ccs_to_main_plane(const struct drm_framebuffer *fb, int ccs_plane); > int skl_calc_main_surface_offset(const struct intel_plane_state *plane_state, > int *x, int *y, u32 *offset); > > -- > 2.25.1 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Ville Syrjälä Intel _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx