intel-gfx.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
From: Manasi Navare <manasi.d.navare@intel.com>
To: Dave Airlie <airlied@gmail.com>
Cc: Dave Airlie <airlied@redhat.com>,
	Intel Graphics Development <intel-gfx@lists.freedesktop.org>,
	dri-devel <dri-devel@lists.freedesktop.org>
Subject: Re: [PATCH] drm/fbdev: Fallback to non tiled mode if all tiles not present
Date: Wed, 6 Nov 2019 12:37:32 -0800	[thread overview]
Message-ID: <20191106203732.GI32264@intel.com> (raw)
In-Reply-To: <CAPM=9tzxUj7zHHJgj_PCJ9pOavO2rz6YVPFbJfWBGgMnb9ykKg@mail.gmail.com>

On Wed, Nov 06, 2019 at 12:47:16PM +1000, Dave Airlie wrote:
> On Fri, 1 Nov 2019 at 07:46, Manasi Navare <manasi.d.navare@intel.com> wrote:
> >
> > In case of tiled displays, if we hotplug just one connector,
> > fbcon currently just selects the preferred mode and if it is
> > tiled mode then that becomes a problem if rest of the tiles are
> > not present.
> > So in the fbdev driver on hotplug when we probe the client modeset,
> > we we dont find all the connectors for all tiles, then on a connector
> > with one tile, just fallback to the first available non tiled mode
> > to display over a single connector.
> >
> > Suggested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > Suggested-by: Dave Airlie <airlied@redhat.com>
> > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > Cc: Dave Airlie <airlied@redhat.com>
> > Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
> > ---
> >  drivers/gpu/drm/drm_client_modeset.c | 29 ++++++++++++++++++++++++++++
> >  1 file changed, 29 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/drm_client_modeset.c b/drivers/gpu/drm/drm_client_modeset.c
> > index 895b73f23079..e28a723587db 100644
> > --- a/drivers/gpu/drm/drm_client_modeset.c
> > +++ b/drivers/gpu/drm/drm_client_modeset.c
> > @@ -114,6 +114,20 @@ drm_client_find_modeset(struct drm_client_dev *client, struct drm_crtc *crtc)
> >         return NULL;
> >  }
> >
> > +static struct drm_display_mode *
> > +drm_connector_fallback_non_tiled_mode(struct drm_connector *connector)
> > +{
> > +       struct drm_display_mode *mode;
> > +
> > +       list_for_each_entry(mode, &connector->modes, head) {
> > +               if (mode->hdisplay == connector->tile_h_size &&
> > +                   mode->vdisplay == connector->tile_v_size)
> > +                       continue;
> > +               return mode;
> > +       }
> > +       return NULL;
> > +}
> > +
> >  static struct drm_display_mode *
> >  drm_connector_has_preferred_mode(struct drm_connector *connector, int width, int height)
> >  {
> > @@ -348,8 +362,17 @@ static bool drm_client_target_preferred(struct drm_connector **connectors,
> >         struct drm_connector *connector;
> >         u64 conn_configured = 0;
> >         int tile_pass = 0;
> > +       int num_tiled_conns = 0;
> >         int i;
> >
> > +       for (i = 0; i < connector_count; i++) {
> > +               connector = connectors[i];
> > +               if (!connector->has_tile)
> > +                       continue;
> > +
> > +               num_tiled_conns ++;
> 
> Drop the space before the ++ here. Maybe just make this
> 
> if (connectors[i]->has_tile)
>         num_tiled_conns++;

Sure will modify like above and add your r-b afterwards.
Thank you so much for your review.

This only covers the hotplug case with 1 connector hotplugged and need to still
modify the fb dev code to ignore the second hotplug which I cant seem to figure out how
to avoid the second hotplug from going through a modeset and retain the first modeset on screen.

Also I will send a follow up patch to fallback to first non tiled mode in case of connected boot.
But its okay for that to be separate patch than this right?

Regards
Manasi

> 
> Reviewed-by: Dave Airlie <airlied@redhat.com>
> 
> Otherwise I think this seems fine, though it does beg the question in
> my mind of what happens if I get 2 8K monitors, and plug the first
> tile of one in, and the second tile of the other in.
> 
> Dave.
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

WARNING: multiple messages have this Message-ID (diff)
From: Manasi Navare <manasi.d.navare@intel.com>
To: Dave Airlie <airlied@gmail.com>
Cc: Dave Airlie <airlied@redhat.com>,
	Intel Graphics Development <intel-gfx@lists.freedesktop.org>,
	dri-devel <dri-devel@lists.freedesktop.org>
Subject: Re: [Intel-gfx] [PATCH] drm/fbdev: Fallback to non tiled mode if all tiles not present
Date: Wed, 6 Nov 2019 12:37:32 -0800	[thread overview]
Message-ID: <20191106203732.GI32264@intel.com> (raw)
Message-ID: <20191106203732.KmUM5xZC_X4PJ6TJfz2Qfvc4clL6FOeAnPOVgZQ7tzA@z> (raw)
In-Reply-To: <CAPM=9tzxUj7zHHJgj_PCJ9pOavO2rz6YVPFbJfWBGgMnb9ykKg@mail.gmail.com>

On Wed, Nov 06, 2019 at 12:47:16PM +1000, Dave Airlie wrote:
> On Fri, 1 Nov 2019 at 07:46, Manasi Navare <manasi.d.navare@intel.com> wrote:
> >
> > In case of tiled displays, if we hotplug just one connector,
> > fbcon currently just selects the preferred mode and if it is
> > tiled mode then that becomes a problem if rest of the tiles are
> > not present.
> > So in the fbdev driver on hotplug when we probe the client modeset,
> > we we dont find all the connectors for all tiles, then on a connector
> > with one tile, just fallback to the first available non tiled mode
> > to display over a single connector.
> >
> > Suggested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > Suggested-by: Dave Airlie <airlied@redhat.com>
> > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > Cc: Dave Airlie <airlied@redhat.com>
> > Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
> > ---
> >  drivers/gpu/drm/drm_client_modeset.c | 29 ++++++++++++++++++++++++++++
> >  1 file changed, 29 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/drm_client_modeset.c b/drivers/gpu/drm/drm_client_modeset.c
> > index 895b73f23079..e28a723587db 100644
> > --- a/drivers/gpu/drm/drm_client_modeset.c
> > +++ b/drivers/gpu/drm/drm_client_modeset.c
> > @@ -114,6 +114,20 @@ drm_client_find_modeset(struct drm_client_dev *client, struct drm_crtc *crtc)
> >         return NULL;
> >  }
> >
> > +static struct drm_display_mode *
> > +drm_connector_fallback_non_tiled_mode(struct drm_connector *connector)
> > +{
> > +       struct drm_display_mode *mode;
> > +
> > +       list_for_each_entry(mode, &connector->modes, head) {
> > +               if (mode->hdisplay == connector->tile_h_size &&
> > +                   mode->vdisplay == connector->tile_v_size)
> > +                       continue;
> > +               return mode;
> > +       }
> > +       return NULL;
> > +}
> > +
> >  static struct drm_display_mode *
> >  drm_connector_has_preferred_mode(struct drm_connector *connector, int width, int height)
> >  {
> > @@ -348,8 +362,17 @@ static bool drm_client_target_preferred(struct drm_connector **connectors,
> >         struct drm_connector *connector;
> >         u64 conn_configured = 0;
> >         int tile_pass = 0;
> > +       int num_tiled_conns = 0;
> >         int i;
> >
> > +       for (i = 0; i < connector_count; i++) {
> > +               connector = connectors[i];
> > +               if (!connector->has_tile)
> > +                       continue;
> > +
> > +               num_tiled_conns ++;
> 
> Drop the space before the ++ here. Maybe just make this
> 
> if (connectors[i]->has_tile)
>         num_tiled_conns++;

Sure will modify like above and add your r-b afterwards.
Thank you so much for your review.

This only covers the hotplug case with 1 connector hotplugged and need to still
modify the fb dev code to ignore the second hotplug which I cant seem to figure out how
to avoid the second hotplug from going through a modeset and retain the first modeset on screen.

Also I will send a follow up patch to fallback to first non tiled mode in case of connected boot.
But its okay for that to be separate patch than this right?

Regards
Manasi

> 
> Reviewed-by: Dave Airlie <airlied@redhat.com>
> 
> Otherwise I think this seems fine, though it does beg the question in
> my mind of what happens if I get 2 8K monitors, and plug the first
> tile of one in, and the second tile of the other in.
> 
> Dave.
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  parent reply	other threads:[~2019-11-06 20:37 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-31 21:48 [PATCH] drm/fbdev: Fallback to non tiled mode if all tiles not present Manasi Navare
2019-10-31 21:48 ` [Intel-gfx] " Manasi Navare
2019-10-31 23:13 ` ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
2019-10-31 23:13   ` [Intel-gfx] " Patchwork
2019-10-31 23:41 ` ✓ Fi.CI.BAT: success " Patchwork
2019-10-31 23:41   ` [Intel-gfx] " Patchwork
2019-11-02  8:42 ` ✓ Fi.CI.IGT: " Patchwork
2019-11-02  8:42   ` [Intel-gfx] " Patchwork
2019-11-04  9:18 ` [Intel-gfx] [PATCH] " Daniel Vetter
2019-11-04  9:18   ` Daniel Vetter
     [not found]   ` <CAMwc25oYjL3K7dcikX-oM_Y4ZP1ZRwUDKvsKO69vg81ZU6Xg8A@mail.gmail.com>
2019-11-04 18:14     ` Daniel Vetter
2019-11-04 18:14       ` [Intel-gfx] " Daniel Vetter
2019-11-04 21:03     ` Manasi Navare
2019-11-04 21:03       ` [Intel-gfx] " Manasi Navare
2019-11-06  2:50       ` Dave Airlie
2019-11-06  2:50         ` Dave Airlie
2019-11-06 23:54         ` Manasi Navare
2019-11-06 23:54           ` Manasi Navare
2019-11-06  2:47 ` Dave Airlie
2019-11-06  2:47   ` [Intel-gfx] " Dave Airlie
2019-11-06 11:34   ` Daniel Stone
2019-11-06 11:34     ` [Intel-gfx] " Daniel Stone
2019-11-06 20:37   ` Manasi Navare [this message]
2019-11-06 20:37     ` Manasi Navare

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191106203732.GI32264@intel.com \
    --to=manasi.d.navare@intel.com \
    --cc=airlied@gmail.com \
    --cc=airlied@redhat.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).