Displaying 20 results from an estimated 86 matches for "drm_drv_uses_atomic_modeset".
2016 Dec 21
6
[PATCH v2 1/2] drm: Wrap the check for atomic_commit implementation
...lper.c
index 145d55f..730342c 100644
--- a/drivers/gpu/drm/drm_fb_helper.c
+++ b/drivers/gpu/drm/drm_fb_helper.c
@@ -405,7 +405,7 @@ static int restore_fbdev_mode(struct drm_fb_helper *fb_helper)
drm_warn_on_modeset_not_all_locked(dev);
- if (dev->mode_config.funcs->atomic_commit)
+ if (drm_drv_uses_atomic_modeset(dev))
return restore_fbdev_mode_atomic(fb_helper);
drm_for_each_plane(plane, dev) {
@@ -1444,7 +1444,7 @@ int drm_fb_helper_pan_display(struct fb_var_screeninfo *var,
return -EBUSY;
}
- if (dev->mode_config.funcs->atomic_commit) {
+ if (drm_drv_uses_atomic_modeset(dev)) {
ret...
2016 Dec 23
2
[PATCH v4 1/2] drm: Wrap the check for atomic_commit implementation
...lper.c
index 145d55f..730342c 100644
--- a/drivers/gpu/drm/drm_fb_helper.c
+++ b/drivers/gpu/drm/drm_fb_helper.c
@@ -405,7 +405,7 @@ static int restore_fbdev_mode(struct drm_fb_helper *fb_helper)
drm_warn_on_modeset_not_all_locked(dev);
- if (dev->mode_config.funcs->atomic_commit)
+ if (drm_drv_uses_atomic_modeset(dev))
return restore_fbdev_mode_atomic(fb_helper);
drm_for_each_plane(plane, dev) {
@@ -1444,7 +1444,7 @@ int drm_fb_helper_pan_display(struct fb_var_screeninfo *var,
return -EBUSY;
}
- if (dev->mode_config.funcs->atomic_commit) {
+ if (drm_drv_uses_atomic_modeset(dev)) {
ret...
2016 Dec 22
4
[PATCH v3 1/2] drm: Wrap the check for atomic_commit implementation
...lper.c
index 145d55f..730342c 100644
--- a/drivers/gpu/drm/drm_fb_helper.c
+++ b/drivers/gpu/drm/drm_fb_helper.c
@@ -405,7 +405,7 @@ static int restore_fbdev_mode(struct drm_fb_helper *fb_helper)
drm_warn_on_modeset_not_all_locked(dev);
- if (dev->mode_config.funcs->atomic_commit)
+ if (drm_drv_uses_atomic_modeset(dev))
return restore_fbdev_mode_atomic(fb_helper);
drm_for_each_plane(plane, dev) {
@@ -1444,7 +1444,7 @@ int drm_fb_helper_pan_display(struct fb_var_screeninfo *var,
return -EBUSY;
}
- if (dev->mode_config.funcs->atomic_commit) {
+ if (drm_drv_uses_atomic_modeset(dev)) {
ret...
2017 Jul 14
2
[regression drm/noveau] suspend to ram -> BOOM: exception RIP: drm_calc_vbltimestamp_from_scanoutpos+335
...ged, 2 insertions(+), 1 deletion(-)
--- a/drivers/gpu/drm/drm_vblank.c
+++ b/drivers/gpu/drm/drm_vblank.c
@@ -605,7 +605,8 @@ bool drm_calc_vbltimestamp_from_scanoutp
*/
if (mode->crtc_clock == 0) {
DRM_DEBUG("crtc %u: Noop due to uninitialized mode.\n", pipe);
- WARN_ON_ONCE(drm_drv_uses_atomic_modeset(dev));
+ WARN_ONCE(drm_drv_uses_atomic_modeset(dev), "%s: report me.\n",
+ dev->driver->name);
return false;
}
2016 Dec 22
1
[Intel-gfx] [PATCH v2 1/2] drm: Wrap the check for atomic_commit implementation
...cc7ca2..43db162 100644
> > --- a/include/drm/drm_atomic.h
> > +++ b/include/drm/drm_atomic.h
> > @@ -419,5 +419,16 @@ drm_atomic_crtc_needs_modeset(const struct drm_crtc_state
> > *state)
> > state->connectors_changed;
> > }
> >
> > +/* drm_drv_uses_atomic_modeset - check if the driver implements
>
> Shouldn't this be
>
> /**
> * drm_drv_uses_atomic_modeset - ...
>
> so it is included in the generated documentation?
Yup. I'm blind this week it seems. DK, please run
$ make DOCBOOKS="" htmldocs
and make sure your n...
2017 Jul 14
4
[regression drm/noveau] suspend to ram -> BOOM: exception RIP: drm_calc_vbltimestamp_from_scanoutpos+335
...m/drm_vblank.c
>> @@ -605,7 +605,8 @@ bool drm_calc_vbltimestamp_from_scanoutp
>> */
>> if (mode->crtc_clock == 0) {
>> DRM_DEBUG("crtc %u: Noop due to uninitialized mode.\n",
>> pipe);
>> - WARN_ON_ONCE(drm_drv_uses_atomic_modeset(dev));
>> + WARN_ONCE(drm_drv_uses_atomic_modeset(dev), "%s: report
>> me.\n",
>> + dev->driver->name);
>> return false;
>> }
>
>
>
> Hey,
>
> confirmed this helps saving th...
2016 Dec 22
0
[Intel-gfx] [PATCH v2 1/2] drm: Wrap the check for atomic_commit implementation
...b/include/drm/drm_atomic.h
> index 8cc7ca2..43db162 100644
> --- a/include/drm/drm_atomic.h
> +++ b/include/drm/drm_atomic.h
> @@ -419,5 +419,16 @@ drm_atomic_crtc_needs_modeset(const struct drm_crtc_state
> *state)
> state->connectors_changed;
> }
>
> +/* drm_drv_uses_atomic_modeset - check if the driver implements
Shouldn't this be
/**
* drm_drv_uses_atomic_modeset - ...
so it is included in the generated documentation?
Ander
> + * atomic_commit()
> + * @dev: DRM device
> + *
> + * This check is useful if drivers do not have DRIVER_ATOMIC set but
> +...
2019 Mar 11
3
[PATCH] drm/bochs: Fix NULL dereference on atomic_disable helper
Hi,
> > > static void bochs_crtc_atomic_flush(struct drm_crtc *crtc,
> > > struct drm_crtc_state *old_crtc_state)
> > > {
> > > @@ -66,6 +71,7 @@ static const struct drm_crtc_funcs bochs_crtc_funcs = {
> > > static const struct drm_crtc_helper_funcs bochs_helper_funcs = {
> > > .mode_set_nofb = bochs_crtc_mode_set_nofb,
> >
2019 Mar 11
3
[PATCH] drm/bochs: Fix NULL dereference on atomic_disable helper
Hi,
> > > static void bochs_crtc_atomic_flush(struct drm_crtc *crtc,
> > > struct drm_crtc_state *old_crtc_state)
> > > {
> > > @@ -66,6 +71,7 @@ static const struct drm_crtc_funcs bochs_crtc_funcs = {
> > > static const struct drm_crtc_helper_funcs bochs_helper_funcs = {
> > > .mode_set_nofb = bochs_crtc_mode_set_nofb,
> >
2017 Jul 14
4
[regression drm/noveau] suspend to ram -> BOOM: exception RIP: drm_calc_vbltimestamp_from_scanoutpos+335
On Wed, 2017-07-12 at 07:37 -0400, Ilia Mirkin wrote:
> On Wed, Jul 12, 2017 at 7:25 AM, Mike Galbraith <efault at gmx.de> wrote:
> > On Wed, 2017-07-12 at 11:55 +0200, Mike Galbraith wrote:
> >> On Tue, 2017-07-11 at 14:22 -0400, Ilia Mirkin wrote:
> >> >
> >> > Some display stuff did change for 4.13 for GM20x+ boards. If it's not
> >>
2020 Aug 02
2
[PATCH] drm/nouveau: Drop mutex_lock_nested for atomic
...78dce57..a7b2a9bb0ffe 100644
--- a/drivers/gpu/drm/nouveau/nouveau_bo.c
+++ b/drivers/gpu/drm/nouveau/nouveau_bo.c
@@ -776,7 +776,11 @@ nouveau_bo_move_m2mf(struct ttm_buffer_object *bo, int evict, bool intr,
return ret;
}
- mutex_lock_nested(&cli->mutex, SINGLE_DEPTH_NESTING);
+ if (drm_drv_uses_atomic_modeset(drm->dev))
+ mutex_lock(&cli->mutex);
+ else
+ mutex_lock_nested(&cli->mutex, SINGLE_DEPTH_NESTING);
+
ret = nouveau_fence_sync(nouveau_bo(bo), chan, true, intr);
if (ret == 0) {
ret = drm->ttm.move(chan, bo, &bo->mem, new_reg);
--
2.27.0
2020 Jan 10
2
[PATCH 03/23] drm/i915: Don't use struct drm_driver.get_scanout_position()
...;dev->vblank[pipe];
> + int vpos, hpos, i;
> + int delta_ns, duration_ns;
> +
> + crtc = drm_crtc_from_index(dev, pipe);
> +
> + if (pipe >= dev->num_crtcs || !crtc) {
> + DRM_ERROR("Invalid crtc %u\n", pipe);
> + return false;
> + }
> +
> + if (drm_drv_uses_atomic_modeset(dev))
> + mode = &vblank->hwmode;
> + else
> + mode = &crtc->hwmode;
> +
> + /* If mode timing undefined, just return as no-op:
> + * Happens during initial modesetting of a crtc.
> + */
> + if (mode->crtc_clock == 0) {
> + DRM_DEBUG("crtc %u: N...
2016 Dec 27
0
[Intel-gfx] [PATCH v3 1/2] drm: Wrap the check for atomic_commit implementation
...+x ~/bin/make.cross
> # save the attached .config to linux build tree
> make.cross ARCH=openrisc
>
> All errors (new ones prefixed by >>):
>
> In file included from drivers/gpu/drm/vc4/vc4_crtc.c:34:0:
> include/drm/drm_atomic.h: In function 'drm_drv_uses_atomic_modeset':
> >> include/drm/drm_atomic.h:437:12: error: dereferencing pointer to incomplete type
Sorry for the silliness, but sounds like we need to move this little
helper back to drmP.h unfortunately. I'll do that while applying.
-Daniel
>
> vim +437 include/drm/drm_atomic.h
>...
2017 Jul 14
0
[regression drm/noveau] suspend to ram -> BOOM: exception RIP: drm_calc_vbltimestamp_from_scanoutpos+335
...gt; --- a/drivers/gpu/drm/drm_vblank.c
> +++ b/drivers/gpu/drm/drm_vblank.c
> @@ -605,7 +605,8 @@ bool drm_calc_vbltimestamp_from_scanoutp
> */
> if (mode->crtc_clock == 0) {
> DRM_DEBUG("crtc %u: Noop due to uninitialized mode.\n", pipe);
> - WARN_ON_ONCE(drm_drv_uses_atomic_modeset(dev));
> + WARN_ONCE(drm_drv_uses_atomic_modeset(dev), "%s: report me.\n",
> + dev->driver->name);
>
> return false;
> }
Hey,
confirmed this helps saving the box, but we still have to find the root
cause! Backtrace with the above fix applied (and th...
2017 Jul 14
0
[regression drm/noveau] suspend to ram -> BOOM: exception RIP: drm_calc_vbltimestamp_from_scanoutpos+335
...@@ -605,7 +605,8 @@ bool drm_calc_vbltimestamp_from_scanoutp
>>> */
>>> if (mode->crtc_clock == 0) {
>>> DRM_DEBUG("crtc %u: Noop due to uninitialized mode.\n",
>>> pipe);
>>> - WARN_ON_ONCE(drm_drv_uses_atomic_modeset(dev));
>>> + WARN_ONCE(drm_drv_uses_atomic_modeset(dev), "%s: report
>>> me.\n",
"report me" seems a bit odd, maybe just uninitialized mode?
>>> + dev->driver->name);
>>> return f...
2016 Dec 22
0
[Intel-gfx] [PATCH v3 1/2] drm: Wrap the check for atomic_commit implementation
...s -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=openrisc
All errors (new ones prefixed by >>):
In file included from drivers/gpu/drm/vc4/vc4_crtc.c:34:0:
include/drm/drm_atomic.h: In function 'drm_drv_uses_atomic_modeset':
>> include/drm/drm_atomic.h:437:12: error: dereferencing pointer to incomplete type
vim +437 include/drm/drm_atomic.h
431 *
432 * This check is useful if drivers do not have DRIVER_ATOMIC set but
433 * have atomic modesetting internally implemented.
434 */
435 stati...
2020 Sep 17
2
[PATCH] drm/nouveau: Drop mutex_lock_nested for atomic
...u/drm/nouveau/nouveau_bo.c
> > @@ -776,7 +776,11 @@ nouveau_bo_move_m2mf(struct ttm_buffer_object *bo, int evict, bool intr,
> > return ret;
> > }
> >
> > - mutex_lock_nested(&cli->mutex, SINGLE_DEPTH_NESTING);
> > + if (drm_drv_uses_atomic_modeset(drm->dev))
> > + mutex_lock(&cli->mutex);
> > + else
> > + mutex_lock_nested(&cli->mutex, SINGLE_DEPTH_NESTING);
> > +
> > ret = nouveau_fence_sync(nouveau_bo(bo), chan, true, intr);
> > if (ret == 0) {
>...
2019 Oct 23
0
[PATCH 2/2] drm/nouveau: Fix drm-core using atomic code-paths on pre-nv50 hardware
...c_duplicate_state(struct drm_connector *connector)
void
nouveau_conn_reset(struct drm_connector *connector)
{
+ struct nouveau_connector *nv_connector = nouveau_connector(connector);
struct nouveau_conn_atom *asyc;
- if (WARN_ON(!(asyc = kzalloc(sizeof(*asyc), GFP_KERNEL))))
- return;
+ if (drm_drv_uses_atomic_modeset(connector->dev)) {
+ if (WARN_ON(!(asyc = kzalloc(sizeof(*asyc), GFP_KERNEL))))
+ return;
+
+ if (connector->state)
+ nouveau_conn_atomic_destroy_state(connector,
+ connector->state);
+
+ __drm_atomic_helper_connector_reset(connector, &asyc->state);
+ } else {
+ asyc...
2019 Oct 24
0
[PATCH v2 2/2] drm/nouveau: Fix drm-core using atomic code-paths on pre-nv50 hardware
...c_duplicate_state(struct drm_connector *connector)
void
nouveau_conn_reset(struct drm_connector *connector)
{
+ struct nouveau_connector *nv_connector = nouveau_connector(connector);
struct nouveau_conn_atom *asyc;
- if (WARN_ON(!(asyc = kzalloc(sizeof(*asyc), GFP_KERNEL))))
- return;
+ if (drm_drv_uses_atomic_modeset(connector->dev)) {
+ if (WARN_ON(!(asyc = kzalloc(sizeof(*asyc), GFP_KERNEL))))
+ return;
+
+ if (connector->state)
+ nouveau_conn_atomic_destroy_state(connector,
+ connector->state);
+
+ __drm_atomic_helper_connector_reset(connector, &asyc->state);
+ } else {
+ asyc...
2019 Dec 20
0
[PATCH AUTOSEL 5.4 37/52] drm/nouveau: Fix drm-core using atomic code-paths on pre-nv50 hardware
...c_duplicate_state(struct drm_connector *connector)
void
nouveau_conn_reset(struct drm_connector *connector)
{
+ struct nouveau_connector *nv_connector = nouveau_connector(connector);
struct nouveau_conn_atom *asyc;
- if (WARN_ON(!(asyc = kzalloc(sizeof(*asyc), GFP_KERNEL))))
- return;
+ if (drm_drv_uses_atomic_modeset(connector->dev)) {
+ if (WARN_ON(!(asyc = kzalloc(sizeof(*asyc), GFP_KERNEL))))
+ return;
+
+ if (connector->state)
+ nouveau_conn_atomic_destroy_state(connector,
+ connector->state);
+
+ __drm_atomic_helper_connector_reset(connector, &asyc->state);
+ } else {
+ asyc...