[Intel-gfx] [PATCH v2 2/9] drm/i915: Switch to intel_ types in debugfs display_info
Ramalingam C
ramalingam.c at intel.com
Mon Dec 2 08:59:09 UTC 2019
On 2019-11-29 at 20:54:27 +0200, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
> Switch to using intel_ types in the debugfs display_info code.
> Should make it easier to handle bigjoiner etc. in the future.
>
Looks Good to me.
Reviewed-by: Ramalingam C <ramalingam.c at intel.com>
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> ---
> drivers/gpu/drm/i915/i915_debugfs.c | 119 ++++++++++++++--------------
> 1 file changed, 59 insertions(+), 60 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> index 3f54e66ab762..16d3c273a453 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -2367,7 +2367,7 @@ static int i915_dmc_info(struct seq_file *m, void *unused)
> }
>
> static void intel_seq_print_mode(struct seq_file *m, int tabs,
> - struct drm_display_mode *mode)
> + const struct drm_display_mode *mode)
> {
> int i;
>
> @@ -2378,51 +2378,52 @@ static void intel_seq_print_mode(struct seq_file *m, int tabs,
> }
>
> static void intel_encoder_info(struct seq_file *m,
> - struct intel_crtc *intel_crtc,
> - struct intel_encoder *intel_encoder)
> + struct intel_crtc *crtc,
> + struct intel_encoder *encoder)
> {
> struct drm_i915_private *dev_priv = node_to_i915(m->private);
> struct drm_device *dev = &dev_priv->drm;
> - struct drm_crtc *crtc = &intel_crtc->base;
> - struct intel_connector *intel_connector;
> - struct drm_encoder *encoder;
> + struct intel_connector *connector;
>
> - encoder = &intel_encoder->base;
> seq_printf(m, "\tencoder %d: type: %s, connectors:\n",
> - encoder->base.id, encoder->name);
> - for_each_connector_on_encoder(dev, encoder, intel_connector) {
> - struct drm_connector *connector = &intel_connector->base;
> + encoder->base.base.id, encoder->base.name);
> +
> + for_each_connector_on_encoder(dev, &encoder->base, connector) {
> seq_printf(m, "\t\tconnector %d: type: %s, status: %s",
> - connector->base.id,
> - connector->name,
> - drm_get_connector_status_name(connector->status));
> - if (connector->status == connector_status_connected) {
> - struct drm_display_mode *mode = &crtc->mode;
> + connector->base.base.id, connector->base.name,
> + drm_get_connector_status_name(connector->base.status));
> +
> + if (connector->base.status == connector_status_connected) {
> + const struct intel_crtc_state *crtc_state =
> + to_intel_crtc_state(crtc->base.state);
> +
> seq_printf(m, ", mode:\n");
> - intel_seq_print_mode(m, 2, mode);
> + intel_seq_print_mode(m, 2, &crtc_state->hw.mode);
> } else {
> seq_putc(m, '\n');
> }
> }
> }
>
> -static void intel_crtc_info(struct seq_file *m, struct intel_crtc *intel_crtc)
> +static void intel_crtc_info(struct seq_file *m, struct intel_crtc *crtc)
> {
> struct drm_i915_private *dev_priv = node_to_i915(m->private);
> struct drm_device *dev = &dev_priv->drm;
> - struct drm_crtc *crtc = &intel_crtc->base;
> - struct intel_encoder *intel_encoder;
> - struct drm_plane_state *plane_state = crtc->primary->state;
> - struct drm_framebuffer *fb = plane_state->fb;
> + struct intel_encoder *encoder;
> + struct intel_plane *plane = to_intel_plane(crtc->base.primary);
> + const struct intel_plane_state *plane_state =
> + to_intel_plane_state(plane->base.state);
> + const struct drm_framebuffer *fb = plane_state->uapi.fb;
>
> if (fb)
> seq_printf(m, "\tfb: %d, pos: %dx%d, size: %dx%d\n",
> - fb->base.id, plane_state->src_x >> 16,
> - plane_state->src_y >> 16, fb->width, fb->height);
> + fb->base.id, plane_state->uapi.src_x >> 16,
> + plane_state->uapi.src_y >> 16,
> + fb->width, fb->height);
> else
> seq_puts(m, "\tprimary plane disabled\n");
> - for_each_encoder_on_crtc(dev, crtc, intel_encoder)
> - intel_encoder_info(m, intel_crtc, intel_encoder);
> + for_each_encoder_on_crtc(dev, &crtc->base, encoder)
> + intel_encoder_info(m, crtc, encoder);
> }
>
> static void intel_panel_info(struct seq_file *m, struct intel_panel *panel)
> @@ -2589,66 +2590,63 @@ static void plane_rotation(char *buf, size_t bufsize, unsigned int rotation)
> rotation);
> }
>
> -static void intel_plane_info(struct seq_file *m, struct intel_crtc *intel_crtc)
> +static void intel_plane_info(struct seq_file *m, struct intel_crtc *crtc)
> {
> struct drm_i915_private *dev_priv = node_to_i915(m->private);
> struct drm_device *dev = &dev_priv->drm;
> - struct intel_plane *intel_plane;
> + struct intel_plane *plane;
>
> - for_each_intel_plane_on_crtc(dev, intel_crtc, intel_plane) {
> - struct drm_plane_state *state;
> - struct drm_plane *plane = &intel_plane->base;
> + for_each_intel_plane_on_crtc(dev, crtc, plane) {
> + const struct intel_plane_state *plane_state =
> + to_intel_plane_state(plane->base.state);
> + const struct drm_framebuffer *fb;
> struct drm_format_name_buf format_name;
> struct drm_rect src, dst;
> char rot_str[48];
>
> - if (!plane->state) {
> + if (!plane_state) {
> seq_puts(m, "plane->state is NULL!\n");
> continue;
> }
>
> - state = plane->state;
> + src = drm_plane_state_src(&plane_state->uapi);
> + dst = drm_plane_state_dest(&plane_state->uapi);
> + fb = plane_state->uapi.fb;
>
> - src = drm_plane_state_src(state);
> - dst = drm_plane_state_dest(state);
> -
> - if (state->fb) {
> - drm_get_format_name(state->fb->format->format,
> - &format_name);
> - } else {
> + if (fb)
> + drm_get_format_name(fb->format->format, &format_name);
> + else
> sprintf(format_name.str, "N/A");
> - }
>
> - plane_rotation(rot_str, sizeof(rot_str), state->rotation);
> + plane_rotation(rot_str, sizeof(rot_str),
> + plane_state->uapi.rotation);
>
> seq_printf(m, "\t--Plane id %d: type=%s, dst=" DRM_RECT_FMT ", src=" DRM_RECT_FP_FMT ", format=%s, rotation=%s\n",
> - plane->base.id,
> - plane_type(intel_plane->base.type),
> + plane->base.base.id,
> + plane_type(plane->base.type),
> DRM_RECT_ARG(&dst),
> DRM_RECT_FP_ARG(&src),
> - format_name.str,
> - rot_str);
> + format_name.str, rot_str);
> }
> }
>
> -static void intel_scaler_info(struct seq_file *m, struct intel_crtc *intel_crtc)
> +static void intel_scaler_info(struct seq_file *m, struct intel_crtc *crtc)
> {
> - struct intel_crtc_state *pipe_config;
> - int num_scalers = intel_crtc->num_scalers;
> + const struct intel_crtc_state *crtc_state =
> + to_intel_crtc_state(crtc->base.state);
> + int num_scalers = crtc->num_scalers;
> int i;
>
> - pipe_config = to_intel_crtc_state(intel_crtc->base.state);
> -
> /* Not all platformas have a scaler */
> if (num_scalers) {
> seq_printf(m, "\tnum_scalers=%d, scaler_users=%x scaler_id=%d",
> num_scalers,
> - pipe_config->scaler_state.scaler_users,
> - pipe_config->scaler_state.scaler_id);
> + crtc_state->scaler_state.scaler_users,
> + crtc_state->scaler_state.scaler_id);
>
> for (i = 0; i < num_scalers; i++) {
> - struct intel_scaler *sc =
> - &pipe_config->scaler_state.scalers[i];
> + const struct intel_scaler *sc =
> + &crtc_state->scaler_state.scalers[i];
>
> seq_printf(m, ", scalers[%d]: use=%s, mode=%x",
> i, yesno(sc->in_use), sc->mode);
> @@ -2673,18 +2671,19 @@ static int i915_display_info(struct seq_file *m, void *unused)
> seq_printf(m, "CRTC info\n");
> seq_printf(m, "---------\n");
> for_each_intel_crtc(dev, crtc) {
> - struct intel_crtc_state *pipe_config;
> + const struct intel_crtc_state *crtc_state;
>
> drm_modeset_lock(&crtc->base.mutex, NULL);
> - pipe_config = to_intel_crtc_state(crtc->base.state);
> +
> + crtc_state = to_intel_crtc_state(crtc->base.state);
>
> seq_printf(m, "CRTC %d: pipe: %c, active=%s, (size=%dx%d), dither=%s, bpp=%d\n",
> crtc->base.base.id, pipe_name(crtc->pipe),
> - yesno(pipe_config->hw.active),
> - pipe_config->pipe_src_w, pipe_config->pipe_src_h,
> - yesno(pipe_config->dither), pipe_config->pipe_bpp);
> + yesno(crtc_state->hw.active),
> + crtc_state->pipe_src_w, crtc_state->pipe_src_h,
> + yesno(crtc_state->dither), crtc_state->pipe_bpp);
>
> - if (pipe_config->hw.active) {
> + if (crtc_state->hw.active) {
> struct intel_plane *cursor =
> to_intel_plane(crtc->base.cursor);
>
> --
> 2.23.0
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
More information about the Intel-gfx
mailing list