Re: [PATCH v3 1/5] drm/i915: Move DP modeset retry work into intel_dp

2018-03-13 Thread Lyude Paul
On Mon, 2018-03-12 at 23:01 +0200, Ville Syrjälä wrote: > On Fri, Mar 09, 2018 at 04:32:27PM -0500, Lyude Paul wrote: > > While having the modeset_retry_work in intel_connector makes sense with > > SST, this paradigm doesn't make a whole ton of sense when it comes to > > MST

Re: [PATCH v3 2/5] drm/i915: Only use one link bw config for MST topologies

2018-03-13 Thread Lyude Paul
On Mon, 2018-03-12 at 13:45 -0700, Manasi Navare wrote: > On Fri, Mar 09, 2018 at 04:32:28PM -0500, Lyude Paul wrote: > > When a DP MST link needs retraining, sometimes the hub will detect that > > the current link bw config is impossible and will update it's RX caps in > >

Re: [PATCH v3 2/5] drm/i915: Only use one link bw config for MST topologies

2018-03-13 Thread Lyude Paul
On Mon, 2018-03-12 at 13:45 -0700, Manasi Navare wrote: > On Fri, Mar 09, 2018 at 04:32:28PM -0500, Lyude Paul wrote: > > When a DP MST link needs retraining, sometimes the hub will detect that > > the current link bw config is impossible and will update it's RX caps in > >

Re: [PATCH v3 5/5] drm/i915: Implement proper fallback training for MST

2018-03-12 Thread Lyude Paul
On Mon, 2018-03-12 at 15:05 -0700, Manasi Navare wrote: > On Fri, Mar 09, 2018 at 04:32:31PM -0500, Lyude Paul wrote: > > For a while we actually haven't had any way of retraining MST links with > > fallback link parameters like we do with SST. While uncommon, certain > &

Re: [PATCH v3 5/5] drm/i915: Implement proper fallback training for MST

2018-03-12 Thread Lyude Paul
On Mon, 2018-03-12 at 15:05 -0700, Manasi Navare wrote: > On Fri, Mar 09, 2018 at 04:32:31PM -0500, Lyude Paul wrote: > > For a while we actually haven't had any way of retraining MST links with > > fallback link parameters like we do with SST. While uncommon, certain > &

[PATCH v3 1/5] drm/i915: Move DP modeset retry work into intel_dp

2018-03-09 Thread Lyude Paul
dealing with an MST device, along with being able to easily trace the intel_dp struct back to it's respective connector (if there is any). So, move the modeset_retry_work function out of the intel_connector struct and into intel_dp. Signed-off-by: Lyude Paul <ly...@redhat.com> Reviewed-by:

[PATCH v3 3/5] drm/dp_mst: Add drm_dp_mst_topology_mgr_lower_link_rate()

2018-03-09 Thread Lyude Paul
topology, then marks the link status of all connectors living in that topology as bad. We'll make use of it in i915 later in this series. Signed-off-by: Lyude Paul <ly...@redhat.com> Cc: Manasi Navare <manasi.d.nav...@intel.com> Cc: Ville Syrjälä <ville.syrj...@linux.intel.com> --

[PATCH v3 1/5] drm/i915: Move DP modeset retry work into intel_dp

2018-03-09 Thread Lyude Paul
dealing with an MST device, along with being able to easily trace the intel_dp struct back to it's respective connector (if there is any). So, move the modeset_retry_work function out of the intel_connector struct and into intel_dp. Signed-off-by: Lyude Paul Reviewed-by: Manasi Navare Cc: Manasi

[PATCH v3 3/5] drm/dp_mst: Add drm_dp_mst_topology_mgr_lower_link_rate()

2018-03-09 Thread Lyude Paul
topology, then marks the link status of all connectors living in that topology as bad. We'll make use of it in i915 later in this series. Signed-off-by: Lyude Paul Cc: Manasi Navare Cc: Ville Syrjälä --- drivers/gpu/drm/drm_dp_mst_topology.c | 73 ++- include/drm

[PATCH v3 5/5] drm/i915: Implement proper fallback training for MST

2018-03-09 Thread Lyude Paul
us to avoid stalling the ESI during link retraining, and we can have the ESI signal that the channel EQ bit was cleared through a simple completion struct. Additionally, we take care to stick as much of this into the SST retraining path as possible since sharing is caring. Signed-off-by: Lyude Paul

[PATCH v3 5/5] drm/i915: Implement proper fallback training for MST

2018-03-09 Thread Lyude Paul
us to avoid stalling the ESI during link retraining, and we can have the ESI signal that the channel EQ bit was cleared through a simple completion struct. Additionally, we take care to stick as much of this into the SST retraining path as possible since sharing is caring. Signed-off-by: Lyude Paul

[PATCH v3 2/5] drm/i915: Only use one link bw config for MST topologies

2018-03-09 Thread Lyude Paul
lowing, we instead use the last configured link bw for this topology. We only unlock the bw config when we've detected a new MST sink. Signed-off-by: Lyude Paul <ly...@redhat.com> Cc: Manasi Navare <manasi.d.nav...@intel.com> Cc: Ville Syrjälä <ville.syrj...@linux.intel.com&g

[PATCH v3 2/5] drm/i915: Only use one link bw config for MST topologies

2018-03-09 Thread Lyude Paul
lowing, we instead use the last configured link bw for this topology. We only unlock the bw config when we've detected a new MST sink. Signed-off-by: Lyude Paul Cc: Manasi Navare Cc: Ville Syrjälä --- drivers/gpu/drm/i915/intel_dp.c | 11 +-- drivers/gpu/drm/i915/intel_dp_

[PATCH v3 4/5] drm/dp_mst: Add drm_atomic_dp_mst_retrain_topology()

2018-03-09 Thread Lyude Paul
for every driver at some point, so let's save ourselves some trouble and just implement these atomic checks as a single helper. Signed-off-by: Lyude Paul <ly...@redhat.com> Cc: Manasi Navare <manasi.d.nav...@intel.com> Cc: Ville Syrjälä <ville.syrj...@linux.intel.com> --

[PATCH v3 4/5] drm/dp_mst: Add drm_atomic_dp_mst_retrain_topology()

2018-03-09 Thread Lyude Paul
for every driver at some point, so let's save ourselves some trouble and just implement these atomic checks as a single helper. Signed-off-by: Lyude Paul Cc: Manasi Navare Cc: Ville Syrjälä --- drivers/gpu/drm/drm_dp_mst_topology.c | 223 ++ include/drm

[PATCH v2 2/6] drm/i915: Move DP modeset retry work into intel_dp

2018-03-08 Thread Lyude Paul
in intel_connector Signed-off-by: Lyude Paul <ly...@redhat.com> Cc: Manasi Navare <manasi.d.nav...@intel.com> Cc: Ville Syrjälä <ville.syrj...@linux.intel.com> --- drivers/gpu/drm/i915/intel_display.c | 23 +-- drivers/gpu/drm/i915/intel_dp.c | 10 +

[PATCH v2 2/6] drm/i915: Move DP modeset retry work into intel_dp

2018-03-08 Thread Lyude Paul
in intel_connector Signed-off-by: Lyude Paul Cc: Manasi Navare Cc: Ville Syrjälä --- drivers/gpu/drm/i915/intel_display.c | 23 +-- drivers/gpu/drm/i915/intel_dp.c | 10 -- drivers/gpu/drm/i915/intel_dp_link_training.c | 2 +- drivers/gpu/drm/i915

[PATCH 0/6] Implement proper MST fallback retraining in i915

2018-03-08 Thread Lyude Paul
. Additionally, this lets me use the DisplayPort on my dock so I can finally free up the thunderbolt 3 connector on it for more useful things. At long last :). Cc: Manasi Navare <manasi.d.nav...@intel.com> Cc: Ville Syrjälä <ville.syrj...@linux.intel.com> Lyude Paul (6): drm/i915: R

[PATCH 0/6] Implement proper MST fallback retraining in i915

2018-03-08 Thread Lyude Paul
. Additionally, this lets me use the DisplayPort on my dock so I can finally free up the thunderbolt 3 connector on it for more useful things. At long last :). Cc: Manasi Navare Cc: Ville Syrjälä Lyude Paul (6): drm/i915: Remove unused DP_LINK_CHECK_TIMEOUT drm/i915: Move DP modeset retry work

[PATCH 1/6] drm/i915: Remove unused DP_LINK_CHECK_TIMEOUT

2018-03-08 Thread Lyude Paul
Signed-off-by: Lyude Paul <ly...@redhat.com> Cc: Manasi Navare <manasi.d.nav...@intel.com> Cc: Ville Syrjälä <ville.syrj...@linux.intel.com> --- drivers/gpu/drm/i915/intel_dp.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/d

[PATCH 1/6] drm/i915: Remove unused DP_LINK_CHECK_TIMEOUT

2018-03-08 Thread Lyude Paul
Signed-off-by: Lyude Paul Cc: Manasi Navare Cc: Ville Syrjälä --- drivers/gpu/drm/i915/intel_dp.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index 9a4a51e79fa1..4dd1b2287dd6 100644 --- a/drivers/gpu/drm/i915/intel_dp.c

[PATCH 2/6] drm/i915: Move DP modeset retry work into intel_dp

2018-03-08 Thread Lyude Paul
dealing with an MST device, along with being able to easily trace the intel_dp struct back to it's respective connector (if there is any). So, move the modeset_retry_work function out of the intel_connector struct and into intel_dp. Signed-off-by: Lyude Paul <ly...@redhat.com> Cc: Manasi

[PATCH 3/6] drm/i915: Only use one link bw config for MST topologies

2018-03-08 Thread Lyude Paul
lowing, we instead use the last configured link bw for this topology. We only unlock the bw config when we've detected a new MST sink. Signed-off-by: Lyude Paul <ly...@redhat.com> Cc: Manasi Navare <manasi.d.nav...@intel.com> Cc: Ville Syrjälä <ville.syrj...@linux.intel.com&g

[PATCH 2/6] drm/i915: Move DP modeset retry work into intel_dp

2018-03-08 Thread Lyude Paul
dealing with an MST device, along with being able to easily trace the intel_dp struct back to it's respective connector (if there is any). So, move the modeset_retry_work function out of the intel_connector struct and into intel_dp. Signed-off-by: Lyude Paul Cc: Manasi Navare Cc: Ville Syrjälä

[PATCH 3/6] drm/i915: Only use one link bw config for MST topologies

2018-03-08 Thread Lyude Paul
lowing, we instead use the last configured link bw for this topology. We only unlock the bw config when we've detected a new MST sink. Signed-off-by: Lyude Paul Cc: Manasi Navare Cc: Ville Syrjälä --- drivers/gpu/drm/i915/intel_dp.c | 11 +-- drivers/gpu/drm/i915/intel_dp_

[PATCH 4/6] drm/dp_mst: Add drm_dp_mst_topology_mgr_lower_link_rate()

2018-03-08 Thread Lyude Paul
topology, then marks the link status of all connectors living in that topology as bad. We'll make use of it in i915 later in this series. Signed-off-by: Lyude Paul <ly...@redhat.com> Cc: Manasi Navare <manasi.d.nav...@intel.com> Cc: Ville Syrjälä <ville.syrj...@linux.intel.com> --

[PATCH 4/6] drm/dp_mst: Add drm_dp_mst_topology_mgr_lower_link_rate()

2018-03-08 Thread Lyude Paul
topology, then marks the link status of all connectors living in that topology as bad. We'll make use of it in i915 later in this series. Signed-off-by: Lyude Paul Cc: Manasi Navare Cc: Ville Syrjälä --- drivers/gpu/drm/drm_dp_mst_topology.c | 73 ++- include/drm

[PATCH 6/6] drm/i915: Implement proper fallback training for MST

2018-03-08 Thread Lyude Paul
us to avoid stalling the ESI during link retraining, and we can have the ESI signal that the channel EQ bit was cleared through a simple completion struct. Additionally, we take care to stick as much of this into the SST retraining path as possible since sharing is caring. Signed-off-by: Lyude Paul

[PATCH 6/6] drm/i915: Implement proper fallback training for MST

2018-03-08 Thread Lyude Paul
us to avoid stalling the ESI during link retraining, and we can have the ESI signal that the channel EQ bit was cleared through a simple completion struct. Additionally, we take care to stick as much of this into the SST retraining path as possible since sharing is caring. Signed-off-by: Lyude Paul

[PATCH 5/6] drm/dp_mst: Add drm_atomic_dp_mst_retrain_topology()

2018-03-08 Thread Lyude Paul
for every driver at some point, so let's save ourselves some trouble and just implement these atomic checks as a single helper. Signed-off-by: Lyude Paul <ly...@redhat.com> Cc: Manasi Navare <manasi.d.nav...@intel.com> Cc: Ville Syrjälä <ville.syrj...@linux.intel.com> --

[PATCH 5/6] drm/dp_mst: Add drm_atomic_dp_mst_retrain_topology()

2018-03-08 Thread Lyude Paul
for every driver at some point, so let's save ourselves some trouble and just implement these atomic checks as a single helper. Signed-off-by: Lyude Paul Cc: Manasi Navare Cc: Ville Syrjälä --- drivers/gpu/drm/drm_dp_mst_topology.c | 223 ++ include/drm

Re: [Nouveau] 4.16-rc1: UBSAN warning in nouveau/nvkm/subdev/therm/base.c + oops in nvkm_therm_clkgate_fini

2018-02-14 Thread Lyude Paul
au.debug=trace? That should hopefully tell us > > > more exactly which thing is dying. If you have a cross-compile/distcc > > > setup handy, a bisect may be even more useful. > > > > Erm, sorry, nevermind. You even said it -- nvkm_therm_clkgate_fini is >

Re: [Nouveau] 4.16-rc1: UBSAN warning in nouveau/nvkm/subdev/therm/base.c + oops in nvkm_therm_clkgate_fini

2018-02-14 Thread Lyude Paul
> > more exactly which thing is dying. If you have a cross-compile/distcc > > > setup handy, a bisect may be even more useful. > > > > Erm, sorry, nevermind. You even said it -- nvkm_therm_clkgate_fini is > > somehow mis-hooked up for NV5 now. A bisect result woul

Re: [PATCH 2/5] drm: Allow determining if current task is output poll worker

2018-02-12 Thread Lyude Paul
; index 76e237bd989b..6914633037a5 100644 > --- a/include/drm/drm_crtc_helper.h > +++ b/include/drm/drm_crtc_helper.h > @@ -77,5 +77,6 @@ void drm_kms_helper_hotplug_event(struct drm_device *dev); > > void drm_kms_helper_poll_disable(struct drm_device *dev); > void drm_kms_helper_poll_enable(struct drm_device *dev); > +bool drm_kms_helper_is_poll_worker(void); > > #endif -- Cheers, Lyude Paul

Re: [PATCH 2/5] drm: Allow determining if current task is output poll worker

2018-02-12 Thread Lyude Paul
de/drm/drm_crtc_helper.h > @@ -77,5 +77,6 @@ void drm_kms_helper_hotplug_event(struct drm_device *dev); > > void drm_kms_helper_poll_disable(struct drm_device *dev); > void drm_kms_helper_poll_enable(struct drm_device *dev); > +bool drm_kms_helper_is_poll_worker(void); > > #endif -- Cheers, Lyude Paul

Re: [PATCH 0/5] Fix deadlock on runtime suspend in DRM drivers

2018-02-12 Thread Lyude Paul
): Reviewed-by: Lyude Paul <ly...@redhat.com> On Sun, 2018-02-11 at 10:38 +0100, Lukas Wunner wrote: > Fix a deadlock on hybrid graphics laptops that's been present since 2013: > > DRM drivers poll connectors in 10 sec intervals. The poll worker is > stopped on

Re: [PATCH 0/5] Fix deadlock on runtime suspend in DRM drivers

2018-02-12 Thread Lyude Paul
): Reviewed-by: Lyude Paul On Sun, 2018-02-11 at 10:38 +0100, Lukas Wunner wrote: > Fix a deadlock on hybrid graphics laptops that's been present since 2013: > > DRM drivers poll connectors in 10 sec intervals. The poll worker is > stopped on ->runtime_suspend with cancel_delayed_work_s

[RFC v6 5/5] drm/nouveau: Introduce NvPmEnableGating option

2018-02-01 Thread Lyude Paul
that clockgating is enabled. Since clockgating has only had limited testing thus far, we leave this option disabled by default for now. Signed-off-by: Lyude Paul <ly...@redhat.com> Reviewed-by: Martin Peres <martin.pe...@free.fr> --- drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c | 4

[RFC v6 5/5] drm/nouveau: Introduce NvPmEnableGating option

2018-02-01 Thread Lyude Paul
that clockgating is enabled. Since clockgating has only had limited testing thus far, we leave this option disabled by default for now. Signed-off-by: Lyude Paul Reviewed-by: Martin Peres --- drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion

[RFC v6 4/5] drm/nouveau: Add support for SLCG for Kepler2

2018-02-01 Thread Lyude Paul
before taking affect. As with the previous series, this results in another noticeable drop in power consumption and is programmed in the same manner. Signed-off-by: Lyude Paul <ly...@redhat.com> Reviewed-by: Martin Peres <martin.pe...@free.fr> --- drivers/gpu/drm/nouveau/nvkm/engine/gr/

[RFC v6 4/5] drm/nouveau: Add support for SLCG for Kepler2

2018-02-01 Thread Lyude Paul
before taking affect. As with the previous series, this results in another noticeable drop in power consumption and is programmed in the same manner. Signed-off-by: Lyude Paul Reviewed-by: Martin Peres --- drivers/gpu/drm/nouveau/nvkm/engine/gr/gk110.c | 93 ++ 1 file changed

[RFC v6 2/5] drm/nouveau: Add support for BLCG on Kepler1

2018-02-01 Thread Lyude Paul
the clkgate_packs for kepler1 so that they share a list of mmio packs with Fermi. Signed-off-by: Lyude Paul <ly...@redhat.com> Reviewed-by: Martin Peres <martin.pe...@free.fr> --- .../gpu/drm/nouveau/include/nvkm/subdev/therm.h| 12 ++ drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100

[RFC v6 1/5] drm/nouveau: Add support for basic clockgating on Kepler1

2018-02-01 Thread Lyude Paul
for certain however, we at least add those into a new subdev/therm/gf100.h header. Signed-off-by: Lyude Paul <ly...@redhat.com> Reviewed-by: Martin Peres <martin.pe...@free.fr> --- .../gpu/drm/nouveau/include/nvkm/subdev/therm.h| 5 + drivers/gpu/drm/nouveau/nvkm/engine/device/b

[RFC v6 2/5] drm/nouveau: Add support for BLCG on Kepler1

2018-02-01 Thread Lyude Paul
the clkgate_packs for kepler1 so that they share a list of mmio packs with Fermi. Signed-off-by: Lyude Paul Reviewed-by: Martin Peres --- .../gpu/drm/nouveau/include/nvkm/subdev/therm.h| 12 ++ drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.h | 1 + drivers/gpu/drm/nouveau/nvkm/engine/gr/gk104

[RFC v6 1/5] drm/nouveau: Add support for basic clockgating on Kepler1

2018-02-01 Thread Lyude Paul
for certain however, we at least add those into a new subdev/therm/gf100.h header. Signed-off-by: Lyude Paul Reviewed-by: Martin Peres --- .../gpu/drm/nouveau/include/nvkm/subdev/therm.h| 5 + drivers/gpu/drm/nouveau/nvkm/engine/device/base.c | 17 +-- drivers/gpu/drm/nouveau/nvkm/subdev/therm

[RFC v6 3/5] drm/nouveau: Add support for BLCG on Kepler2

2018-02-01 Thread Lyude Paul
Same as the previous patch, but for Kepler2 now Signed-off-by: Lyude Paul <ly...@redhat.com> Reviewed-by: Martin Peres <martin.pe...@free.fr> --- drivers/gpu/drm/nouveau/include/nvkm/subdev/fb.h | 1 + drivers/gpu/drm/nouveau/nvkm/engine/device/base.c | 8 +-- drivers/gpu/drm/

[RFC v6 3/5] drm/nouveau: Add support for BLCG on Kepler2

2018-02-01 Thread Lyude Paul
Same as the previous patch, but for Kepler2 now Signed-off-by: Lyude Paul Reviewed-by: Martin Peres --- drivers/gpu/drm/nouveau/include/nvkm/subdev/fb.h | 1 + drivers/gpu/drm/nouveau/nvkm/engine/device/base.c | 8 +-- drivers/gpu/drm/nouveau/nvkm/engine/gr/gk110.c| 62

[RFC v6 0/5] Implement full clockgating for Kepler1 and 2

2018-02-01 Thread Lyude Paul
entirely and also since we no longer need to, stop exporting gt215_therm_init Signed-off-by: Lyude Paul <ly...@redhat.com> Reviewed-by: Martin Peres <martin.pe...@free.fr> Lyude Paul (5): drm/nouveau: Add support for basic clockgating on Kepler1 drm/nouveau: Add support for BLCG on K

[RFC v6 0/5] Implement full clockgating for Kepler1 and 2

2018-02-01 Thread Lyude Paul
entirely and also since we no longer need to, stop exporting gt215_therm_init Signed-off-by: Lyude Paul Reviewed-by: Martin Peres Lyude Paul (5): drm/nouveau: Add support for basic clockgating on Kepler1 drm/nouveau: Add support for BLCG on Kepler1 drm/nouveau: Add support for BLCG on Kepler2

[RFC v5 5/5] drm/nouveau: Introduce NvPmEnableGating option

2018-01-30 Thread Lyude Paul
that clockgating is enabled. Since clockgating has only had limited testing thus far, we leave this option disabled by default for now. Signed-off-by: Lyude Paul <ly...@redhat.com> Reviewed-by: Martin Peres <martin.pe...@free.fr> --- drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c | 4

[RFC v5 5/5] drm/nouveau: Introduce NvPmEnableGating option

2018-01-30 Thread Lyude Paul
that clockgating is enabled. Since clockgating has only had limited testing thus far, we leave this option disabled by default for now. Signed-off-by: Lyude Paul Reviewed-by: Martin Peres --- drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion

[RFC v5 4/5] drm/nouveau: Add support for SLCG for Kepler2

2018-01-30 Thread Lyude Paul
before taking affect. As with the previous series, this results in another noticeable drop in power consumption and is programmed in the same manner. Signed-off-by: Lyude Paul <ly...@redhat.com> Reviewed-by: Martin Peres <martin.pe...@free.fr> --- drivers/gpu/drm/nouveau/nvkm/engine/gr/

[RFC v5 4/5] drm/nouveau: Add support for SLCG for Kepler2

2018-01-30 Thread Lyude Paul
before taking affect. As with the previous series, this results in another noticeable drop in power consumption and is programmed in the same manner. Signed-off-by: Lyude Paul Reviewed-by: Martin Peres --- drivers/gpu/drm/nouveau/nvkm/engine/gr/gk110.c | 93 ++ 1 file changed

[RFC v5 3/5] drm/nouveau: Add support for BLCG on Kepler2

2018-01-30 Thread Lyude Paul
Same as the previous patch, but for Kepler2 now Signed-off-by: Lyude Paul <ly...@redhat.com> Reviewed-by: Martin Peres <martin.pe...@free.fr> --- drivers/gpu/drm/nouveau/include/nvkm/subdev/fb.h | 1 + drivers/gpu/drm/nouveau/nvkm/engine/device/base.c | 8 +-- drivers/gpu/drm/

[RFC v5 3/5] drm/nouveau: Add support for BLCG on Kepler2

2018-01-30 Thread Lyude Paul
Same as the previous patch, but for Kepler2 now Signed-off-by: Lyude Paul Reviewed-by: Martin Peres --- drivers/gpu/drm/nouveau/include/nvkm/subdev/fb.h | 1 + drivers/gpu/drm/nouveau/nvkm/engine/device/base.c | 8 +-- drivers/gpu/drm/nouveau/nvkm/engine/gr/gk110.c| 62

[RFC v5 2/5] drm/nouveau: Add support for BLCG on Kepler1

2018-01-30 Thread Lyude Paul
the clkgate_packs for kepler1 so that they share a list of mmio packs with Fermi. Signed-off-by: Lyude Paul <ly...@redhat.com> Reviewed-by: Martin Peres <martin.pe...@free.fr> --- .../gpu/drm/nouveau/include/nvkm/subdev/therm.h| 12 ++ drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100

[RFC v5 2/5] drm/nouveau: Add support for BLCG on Kepler1

2018-01-30 Thread Lyude Paul
the clkgate_packs for kepler1 so that they share a list of mmio packs with Fermi. Signed-off-by: Lyude Paul Reviewed-by: Martin Peres --- .../gpu/drm/nouveau/include/nvkm/subdev/therm.h| 12 ++ drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.h | 1 + drivers/gpu/drm/nouveau/nvkm/engine/gr/gk104

[RFC v5 1/5] drm/nouveau: Add support for basic clockgating on Kepler1

2018-01-30 Thread Lyude Paul
for certain however, we at least add those into a new subdev/therm/gf100.h header. Signed-off-by: Lyude Paul <ly...@redhat.com> Reviewed-by: Martin Peres <martin.pe...@free.fr> --- .../gpu/drm/nouveau/include/nvkm/subdev/therm.h| 5 + drivers/gpu/drm/nouveau/nvkm/engine/device/b

[RFC v5 1/5] drm/nouveau: Add support for basic clockgating on Kepler1

2018-01-30 Thread Lyude Paul
for certain however, we at least add those into a new subdev/therm/gf100.h header. Signed-off-by: Lyude Paul Reviewed-by: Martin Peres --- .../gpu/drm/nouveau/include/nvkm/subdev/therm.h| 5 + drivers/gpu/drm/nouveau/nvkm/engine/device/base.c | 17 +-- drivers/gpu/drm/nouveau/nvkm/subdev/therm

[RFC v5 0/5] Implement full clockgating for Kepler1 and 2

2018-01-30 Thread Lyude Paul
Next version of my patchseries for adding clockgating support for kepler1 and 2 on nouveau. The first version of this series can be found here: https://patchwork.freedesktop.org/series/36504/ One small change: - Add Martin's R-B, whoops Lyude Paul (5): drm/nouveau: Add support for basic

[RFC v5 0/5] Implement full clockgating for Kepler1 and 2

2018-01-30 Thread Lyude Paul
Next version of my patchseries for adding clockgating support for kepler1 and 2 on nouveau. The first version of this series can be found here: https://patchwork.freedesktop.org/series/36504/ One small change: - Add Martin's R-B, whoops Lyude Paul (5): drm/nouveau: Add support for basic

[RFC v4 4/5] drm/nouveau: Add support for SLCG for Kepler2

2018-01-29 Thread Lyude Paul
before taking affect. As with the previous series, this results in another noticeable drop in power consumption and is programmed in the same manner. Signed-off-by: Lyude Paul <ly...@redhat.com> --- drivers/gpu/drm/nouveau/nvkm/engine/gr/gk110.c | 93 ++ 1 file chang

[RFC v4 4/5] drm/nouveau: Add support for SLCG for Kepler2

2018-01-29 Thread Lyude Paul
before taking affect. As with the previous series, this results in another noticeable drop in power consumption and is programmed in the same manner. Signed-off-by: Lyude Paul --- drivers/gpu/drm/nouveau/nvkm/engine/gr/gk110.c | 93 ++ 1 file changed, 93 insertions(+) diff

[RFC 5/5] drm/nouveau: Introduce NvPmEnableGating option

2018-01-29 Thread Lyude Paul
that clockgating is enabled. Since clockgating has only had limited testing thus far, we leave this option disabled by default for now. Signed-off-by: Lyude Paul <ly...@redhat.com> --- drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff

[RFC 5/5] drm/nouveau: Introduce NvPmEnableGating option

2018-01-29 Thread Lyude Paul
that clockgating is enabled. Since clockgating has only had limited testing thus far, we leave this option disabled by default for now. Signed-off-by: Lyude Paul --- drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm

[RFC v4 3/5] drm/nouveau: Add support for BLCG on Kepler2

2018-01-29 Thread Lyude Paul
Same as the previous patch, but for Kepler2 now Signed-off-by: Lyude Paul <ly...@redhat.com> --- drivers/gpu/drm/nouveau/include/nvkm/subdev/fb.h | 1 + drivers/gpu/drm/nouveau/nvkm/engine/device/base.c | 8 +-- drivers/gpu/drm/nouveau/nvkm/engine/gr/gk110.c

[RFC v4 3/5] drm/nouveau: Add support for BLCG on Kepler2

2018-01-29 Thread Lyude Paul
Same as the previous patch, but for Kepler2 now Signed-off-by: Lyude Paul --- drivers/gpu/drm/nouveau/include/nvkm/subdev/fb.h | 1 + drivers/gpu/drm/nouveau/nvkm/engine/device/base.c | 8 +-- drivers/gpu/drm/nouveau/nvkm/engine/gr/gk110.c| 62 drivers/gpu/drm

[RFC v4 1/5] drm/nouveau: Add support for basic clockgating on Kepler1

2018-01-29 Thread Lyude Paul
for certain however, we at least add those into a new subdev/therm/gf100.h header. Signed-off-by: Lyude Paul <ly...@redhat.com> --- .../gpu/drm/nouveau/include/nvkm/subdev/therm.h| 5 + drivers/gpu/drm/nouveau/nvkm/engine/device/base.c | 17 +-- drivers/gpu/drm/nouveau/nvkm/subdev/therm/

[RFC v4 2/5] drm/nouveau: Add support for BLCG on Kepler1

2018-01-29 Thread Lyude Paul
the clkgate_packs for kepler1 so that they share a list of mmio packs with Fermi. Signed-off-by: Lyude Paul <ly...@redhat.com> --- .../gpu/drm/nouveau/include/nvkm/subdev/therm.h| 12 ++ drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.h | 1 + drivers/gpu/drm/nouveau/nvkm/engine/gr/g

[RFC v4 1/5] drm/nouveau: Add support for basic clockgating on Kepler1

2018-01-29 Thread Lyude Paul
for certain however, we at least add those into a new subdev/therm/gf100.h header. Signed-off-by: Lyude Paul --- .../gpu/drm/nouveau/include/nvkm/subdev/therm.h| 5 + drivers/gpu/drm/nouveau/nvkm/engine/device/base.c | 17 +-- drivers/gpu/drm/nouveau/nvkm/subdev/therm/Kbuild | 1 + drivers

[RFC v4 2/5] drm/nouveau: Add support for BLCG on Kepler1

2018-01-29 Thread Lyude Paul
the clkgate_packs for kepler1 so that they share a list of mmio packs with Fermi. Signed-off-by: Lyude Paul --- .../gpu/drm/nouveau/include/nvkm/subdev/therm.h| 12 ++ drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.h | 1 + drivers/gpu/drm/nouveau/nvkm/engine/gr/gk104.c | 207

[RFC v4 0/5] Implement full clockgating for Kepler1 and 2

2018-01-29 Thread Lyude Paul
uce the NvPmEnableGating option Lyude Paul (5): drm/nouveau: Add support for basic clockgating on Kepler1 drm/nouveau: Add support for BLCG on Kepler1 drm/nouveau: Add support for BLCG on Kepler2 drm/nouveau: Add support for SLCG for Kepler2 drm/nouveau: Introduce NvPmEnableGating opt

[RFC v4 0/5] Implement full clockgating for Kepler1 and 2

2018-01-29 Thread Lyude Paul
uce the NvPmEnableGating option Lyude Paul (5): drm/nouveau: Add support for basic clockgating on Kepler1 drm/nouveau: Add support for BLCG on Kepler1 drm/nouveau: Add support for BLCG on Kepler2 drm/nouveau: Add support for SLCG for Kepler2 drm/nouveau: Introduce NvPmEnableGating opt

[RFC v3 3/4] drm/nouveau: Add support for BLCG on Kepler2

2018-01-26 Thread Lyude Paul
Same as the previous patch, but for Kepler2 now Signed-off-by: Lyude Paul <ly...@redhat.com> --- drivers/gpu/drm/nouveau/include/nvkm/subdev/fb.h | 1 + drivers/gpu/drm/nouveau/nvkm/engine/device/base.c | 8 +-- drivers/gpu/drm/nouveau/nvkm/engine/gr/gk110.c

[RFC v3 2/4] drm/nouveau: Add support for BLCG on Kepler1

2018-01-26 Thread Lyude Paul
the clkgate_packs for kepler1 so that they share a list of mmio packs with Fermi. Signed-off-by: Lyude Paul <ly...@redhat.com> --- .../gpu/drm/nouveau/include/nvkm/subdev/therm.h| 12 ++ drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.h | 1 + drivers/gpu/drm/nouveau/nvkm/engine/gr/g

[RFC v3 3/4] drm/nouveau: Add support for BLCG on Kepler2

2018-01-26 Thread Lyude Paul
Same as the previous patch, but for Kepler2 now Signed-off-by: Lyude Paul --- drivers/gpu/drm/nouveau/include/nvkm/subdev/fb.h | 1 + drivers/gpu/drm/nouveau/nvkm/engine/device/base.c | 8 +-- drivers/gpu/drm/nouveau/nvkm/engine/gr/gk110.c| 62 drivers/gpu/drm

[RFC v3 2/4] drm/nouveau: Add support for BLCG on Kepler1

2018-01-26 Thread Lyude Paul
the clkgate_packs for kepler1 so that they share a list of mmio packs with Fermi. Signed-off-by: Lyude Paul --- .../gpu/drm/nouveau/include/nvkm/subdev/therm.h| 12 ++ drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.h | 1 + drivers/gpu/drm/nouveau/nvkm/engine/gr/gk104.c | 207

[RFC v3 4/4] drm/nouveau: Add support for SLCG for Kepler2

2018-01-26 Thread Lyude Paul
before taking affect. As with the previous series, this results in another noticeable drop in power consumption and is programmed in the same manner. Signed-off-by: Lyude Paul <ly...@redhat.com> --- drivers/gpu/drm/nouveau/nvkm/engine/gr/gk110.c | 93 ++ 1 file chang

[RFC v3 4/4] drm/nouveau: Add support for SLCG for Kepler2

2018-01-26 Thread Lyude Paul
before taking affect. As with the previous series, this results in another noticeable drop in power consumption and is programmed in the same manner. Signed-off-by: Lyude Paul --- drivers/gpu/drm/nouveau/nvkm/engine/gr/gk110.c | 93 ++ 1 file changed, 93 insertions(+) diff

[RFC v3 1/4] drm/nouveau: Add support for basic clockgating on Kepler1

2018-01-26 Thread Lyude Paul
. Signed-off-by: Lyude Paul <ly...@redhat.com> --- .../gpu/drm/nouveau/include/nvkm/subdev/therm.h| 5 + drivers/gpu/drm/nouveau/nvkm/engine/device/base.c | 17 +-- drivers/gpu/drm/nouveau/nvkm/subdev/therm/Kbuild | 1 + drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c

[RFC v3 1/4] drm/nouveau: Add support for basic clockgating on Kepler1

2018-01-26 Thread Lyude Paul
. Signed-off-by: Lyude Paul --- .../gpu/drm/nouveau/include/nvkm/subdev/therm.h| 5 + drivers/gpu/drm/nouveau/nvkm/engine/device/base.c | 17 +-- drivers/gpu/drm/nouveau/nvkm/subdev/therm/Kbuild | 1 + drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c | 60 +++-- drivers/gpu/drm

[RFC v3 0/4] Implement full clockgating for Kepler1 and 2

2018-01-26 Thread Lyude Paul
that these patches have a higher chance of crashing your card if you reclock under load. However, reclocking under load has never been supported by nouveau in the first place and has always caused trouble so that's nothing new :). Reclocking while not under load with powergating works A-OK. Lyude

[RFC v3 0/4] Implement full clockgating for Kepler1 and 2

2018-01-26 Thread Lyude Paul
that these patches have a higher chance of crashing your card if you reclock under load. However, reclocking under load has never been supported by nouveau in the first place and has always caused trouble so that's nothing new :). Reclocking while not under load with powergating works A-OK. Lyude

Re: [RFC v2 3/4] drm/nouveau: Add support for BLCG on Kepler2

2018-01-26 Thread Lyude Paul
On Fri, 2018-01-26 at 02:53 -0500, Ilia Mirkin wrote: > On Thu, Jan 25, 2018 at 10:35 PM, Lyude Paul <ly...@redhat.com> wrote: > > Same as the previous patch, but for Kepler2 now > > > > Signed-off-by: Lyude Paul <ly...@redhat.com> > > --- > > dri

Re: [RFC v2 3/4] drm/nouveau: Add support for BLCG on Kepler2

2018-01-26 Thread Lyude Paul
On Fri, 2018-01-26 at 02:53 -0500, Ilia Mirkin wrote: > On Thu, Jan 25, 2018 at 10:35 PM, Lyude Paul wrote: > > Same as the previous patch, but for Kepler2 now > > > > Signed-off-by: Lyude Paul > > --- > > drivers/gpu/drm/nouveau/include/nvkm/subdev/fb.h |

Re: [Nouveau] [RFC v2 1/4] drm/nouveau: Add support for basic clockgating on Kepler1

2018-01-26 Thread Lyude Paul
On Fri, 2018-01-26 at 12:34 +0100, Karol Herbst wrote: > On Fri, Jan 26, 2018 at 4:35 AM, Lyude Paul <ly...@redhat.com> wrote: > > This adds support for enabling automatic clockgating on nvidia GPUs for > > Kepler1. While this is not technically a clockgating level, it does &

Re: [Nouveau] [RFC v2 1/4] drm/nouveau: Add support for basic clockgating on Kepler1

2018-01-26 Thread Lyude Paul
On Fri, 2018-01-26 at 12:34 +0100, Karol Herbst wrote: > On Fri, Jan 26, 2018 at 4:35 AM, Lyude Paul wrote: > > This adds support for enabling automatic clockgating on nvidia GPUs for > > Kepler1. While this is not technically a clockgating level, it does > > ena

[RFC v2 2/4] drm/nouveau: Add support for BLCG on Kepler1

2018-01-25 Thread Lyude Paul
the clkgate_packs for kepler1 so that they share a list of mmio packs with Fermi. Signed-off-by: Lyude Paul <ly...@redhat.com> --- .../gpu/drm/nouveau/include/nvkm/subdev/therm.h| 12 ++ drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.h | 1 + drivers/gpu/drm/nouveau/nvkm/engine/gr/g

[RFC v2 3/4] drm/nouveau: Add support for BLCG on Kepler2

2018-01-25 Thread Lyude Paul
Same as the previous patch, but for Kepler2 now Signed-off-by: Lyude Paul <ly...@redhat.com> --- drivers/gpu/drm/nouveau/include/nvkm/subdev/fb.h | 1 + drivers/gpu/drm/nouveau/nvkm/engine/device/base.c | 8 +-- drivers/gpu/drm/nouveau/nvkm/engine/gr/gk110.c

[RFC v2 4/4] drm/nouveau: Add support for SLCG for Kepler2

2018-01-25 Thread Lyude Paul
before taking affect. As with the previous series, this results in another noticeable drop in power consumption and is programmed in the same manner. Signed-off-by: Lyude Paul <ly...@redhat.com> --- drivers/gpu/drm/nouveau/nvkm/engine/gr/gk110.c | 93 ++ 1 file chang

[RFC v2 2/4] drm/nouveau: Add support for BLCG on Kepler1

2018-01-25 Thread Lyude Paul
the clkgate_packs for kepler1 so that they share a list of mmio packs with Fermi. Signed-off-by: Lyude Paul --- .../gpu/drm/nouveau/include/nvkm/subdev/therm.h| 12 ++ drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.h | 1 + drivers/gpu/drm/nouveau/nvkm/engine/gr/gk104.c | 207

[RFC v2 3/4] drm/nouveau: Add support for BLCG on Kepler2

2018-01-25 Thread Lyude Paul
Same as the previous patch, but for Kepler2 now Signed-off-by: Lyude Paul --- drivers/gpu/drm/nouveau/include/nvkm/subdev/fb.h | 1 + drivers/gpu/drm/nouveau/nvkm/engine/device/base.c | 8 +-- drivers/gpu/drm/nouveau/nvkm/engine/gr/gk110.c| 62 drivers/gpu/drm

[RFC v2 4/4] drm/nouveau: Add support for SLCG for Kepler2

2018-01-25 Thread Lyude Paul
before taking affect. As with the previous series, this results in another noticeable drop in power consumption and is programmed in the same manner. Signed-off-by: Lyude Paul --- drivers/gpu/drm/nouveau/nvkm/engine/gr/gk110.c | 93 ++ 1 file changed, 93 insertions(+) diff

[RFC v2 1/4] drm/nouveau: Add support for basic clockgating on Kepler1

2018-01-25 Thread Lyude Paul
. Signed-off-by: Lyude Paul <ly...@redhat.com> --- .../gpu/drm/nouveau/include/nvkm/subdev/therm.h| 5 + drivers/gpu/drm/nouveau/nvkm/engine/device/base.c | 17 +-- drivers/gpu/drm/nouveau/nvkm/subdev/therm/Kbuild | 1 + drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c

[RFC v2 1/4] drm/nouveau: Add support for basic clockgating on Kepler1

2018-01-25 Thread Lyude Paul
. Signed-off-by: Lyude Paul --- .../gpu/drm/nouveau/include/nvkm/subdev/therm.h| 5 + drivers/gpu/drm/nouveau/nvkm/engine/device/base.c | 17 +-- drivers/gpu/drm/nouveau/nvkm/subdev/therm/Kbuild | 1 + drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c | 60 +++-- drivers/gpu/drm

[RFC v2 0/4] Implement full clockgating for Kepler1 and 2

2018-01-25 Thread Lyude Paul
boolean option. - Fixup nvkm_info() messages so that we don't mention powergating in them, since this isn't actually added in this series (and may not be for a while, only time will tell :) - Don't export unused function gk104_therm_new_() Lyude Paul (4): drm/nouveau: Add support

[RFC v2 0/4] Implement full clockgating for Kepler1 and 2

2018-01-25 Thread Lyude Paul
boolean option. - Fixup nvkm_info() messages so that we don't mention powergating in them, since this isn't actually added in this series (and may not be for a while, only time will tell :) - Don't export unused function gk104_therm_new_() Lyude Paul (4): drm/nouveau: Add support

[PATCH v3] drm/nouveau: Move irq setup/teardown to pci ctor/dtor

2018-01-25 Thread Lyude Paul
, this probably means we can also just remove the msi rearm call inside nvkm_pci_init(). But since our main focus here is to fix suspend/resume before 4.15, we'll save that for a later patch. Signed-off-by: Lyude Paul <ly...@redhat.com> Cc: Karol Herbst <kher...@redhat.com> Cc: Thomas

[PATCH v3] drm/nouveau: Move irq setup/teardown to pci ctor/dtor

2018-01-25 Thread Lyude Paul
, this probably means we can also just remove the msi rearm call inside nvkm_pci_init(). But since our main focus here is to fix suspend/resume before 4.15, we'll save that for a later patch. Signed-off-by: Lyude Paul Cc: Karol Herbst Cc: Thomas Gleixner Cc: Mike Galbraith Cc: sta

[PATCH v2] drm/nouveau: Move irq setup/teardown to pci ctor/dtor

2018-01-25 Thread Lyude Paul
, this probably means we can also just remove the msi rearm call inside nvkm_pci_init(). But since our main focus here is to fix suspend/resume before 4.15, we'll save that for a later patch. Signed-off-by: Lyude Paul <ly...@redhat.com> Cc: Karol Herbst <kher...@redhat.com> Cc: Thomas

<    3   4   5   6   7   8   9   10   >