drm, kdb, kms: Change mode_set_base_atomic() enter argument to be an enum
The enter argument as implemented by commit 413d45d362
(drm, kdb, kms:
Add an enter argument to mode_set_base_atomic() API) should be more
descriptive as to what it does vs just passing 1 and 0 around.
There is no runtime behavior change as a result of this patch.
Reported-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
CC: David Airlie <airlied@linux.ie>
CC: dri-devel@lists.freedesktop.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
99231028ff
commit
21c74a8ea8
@ -289,8 +289,7 @@ int drm_fb_helper_debug_enter(struct fb_info *info)
|
|||||||
mode_set->fb,
|
mode_set->fb,
|
||||||
mode_set->x,
|
mode_set->x,
|
||||||
mode_set->y,
|
mode_set->y,
|
||||||
1);
|
ENTER_ATOMIC_MODE_SET);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -336,7 +335,7 @@ int drm_fb_helper_debug_leave(struct fb_info *info)
|
|||||||
|
|
||||||
drm_fb_helper_restore_lut_atomic(mode_set->crtc);
|
drm_fb_helper_restore_lut_atomic(mode_set->crtc);
|
||||||
funcs->mode_set_base_atomic(mode_set->crtc, fb, crtc->x,
|
funcs->mode_set_base_atomic(mode_set->crtc, fb, crtc->x,
|
||||||
crtc->y, 0);
|
crtc->y, LEAVE_ATOMIC_MODE_SET);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -1492,7 +1492,7 @@ err_unpin:
|
|||||||
/* Assume fb object is pinned & idle & fenced and just update base pointers */
|
/* Assume fb object is pinned & idle & fenced and just update base pointers */
|
||||||
static int
|
static int
|
||||||
intel_pipe_set_base_atomic(struct drm_crtc *crtc, struct drm_framebuffer *fb,
|
intel_pipe_set_base_atomic(struct drm_crtc *crtc, struct drm_framebuffer *fb,
|
||||||
int x, int y, int enter)
|
int x, int y, enum mode_set_atomic state)
|
||||||
{
|
{
|
||||||
struct drm_device *dev = crtc->dev;
|
struct drm_device *dev = crtc->dev;
|
||||||
struct drm_i915_private *dev_priv = dev->dev_private;
|
struct drm_i915_private *dev_priv = dev->dev_private;
|
||||||
@ -1614,7 +1614,8 @@ intel_pipe_set_base(struct drm_crtc *crtc, int x, int y,
|
|||||||
atomic_read(&obj_priv->pending_flip) == 0);
|
atomic_read(&obj_priv->pending_flip) == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = intel_pipe_set_base_atomic(crtc, crtc->fb, x, y, 0);
|
ret = intel_pipe_set_base_atomic(crtc, crtc->fb, x, y,
|
||||||
|
LEAVE_ATOMIC_MODE_SET);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
i915_gem_object_unpin(to_intel_framebuffer(crtc->fb)->obj);
|
i915_gem_object_unpin(to_intel_framebuffer(crtc->fb)->obj);
|
||||||
mutex_unlock(&dev->struct_mutex);
|
mutex_unlock(&dev->struct_mutex);
|
||||||
|
@ -860,12 +860,12 @@ nv04_crtc_mode_set_base(struct drm_crtc *crtc, int x, int y,
|
|||||||
static int
|
static int
|
||||||
nv04_crtc_mode_set_base_atomic(struct drm_crtc *crtc,
|
nv04_crtc_mode_set_base_atomic(struct drm_crtc *crtc,
|
||||||
struct drm_framebuffer *fb,
|
struct drm_framebuffer *fb,
|
||||||
int x, int y, int enter)
|
int x, int y, enum mode_set_atomic state)
|
||||||
{
|
{
|
||||||
struct drm_nouveau_private *dev_priv = crtc->dev->dev_private;
|
struct drm_nouveau_private *dev_priv = crtc->dev->dev_private;
|
||||||
struct drm_device *dev = dev_priv->dev;
|
struct drm_device *dev = dev_priv->dev;
|
||||||
|
|
||||||
if (enter)
|
if (state == ENTER_ATOMIC_MODE_SET)
|
||||||
nouveau_fbcon_save_disable_accel(dev);
|
nouveau_fbcon_save_disable_accel(dev);
|
||||||
else
|
else
|
||||||
nouveau_fbcon_restore_accel(dev);
|
nouveau_fbcon_restore_accel(dev);
|
||||||
|
@ -708,7 +708,7 @@ nv50_crtc_mode_set_base(struct drm_crtc *crtc, int x, int y,
|
|||||||
static int
|
static int
|
||||||
nv50_crtc_mode_set_base_atomic(struct drm_crtc *crtc,
|
nv50_crtc_mode_set_base_atomic(struct drm_crtc *crtc,
|
||||||
struct drm_framebuffer *fb,
|
struct drm_framebuffer *fb,
|
||||||
int x, int y, int enter)
|
int x, int y, enum mode_set_atomic state)
|
||||||
{
|
{
|
||||||
return nv50_crtc_do_mode_set_base(crtc, fb, x, y, true, true);
|
return nv50_crtc_do_mode_set_base(crtc, fb, x, y, true, true);
|
||||||
}
|
}
|
||||||
|
@ -1270,7 +1270,7 @@ int atombios_crtc_set_base(struct drm_crtc *crtc, int x, int y,
|
|||||||
|
|
||||||
int atombios_crtc_set_base_atomic(struct drm_crtc *crtc,
|
int atombios_crtc_set_base_atomic(struct drm_crtc *crtc,
|
||||||
struct drm_framebuffer *fb,
|
struct drm_framebuffer *fb,
|
||||||
int x, int y, int enter)
|
int x, int y, enum mode_set_atomic state)
|
||||||
{
|
{
|
||||||
struct drm_device *dev = crtc->dev;
|
struct drm_device *dev = crtc->dev;
|
||||||
struct radeon_device *rdev = dev->dev_private;
|
struct radeon_device *rdev = dev->dev_private;
|
||||||
|
@ -353,7 +353,7 @@ int radeon_crtc_set_base(struct drm_crtc *crtc, int x, int y,
|
|||||||
|
|
||||||
int radeon_crtc_set_base_atomic(struct drm_crtc *crtc,
|
int radeon_crtc_set_base_atomic(struct drm_crtc *crtc,
|
||||||
struct drm_framebuffer *fb,
|
struct drm_framebuffer *fb,
|
||||||
int x, int y, int enter)
|
int x, int y, enum mode_set_atomic state)
|
||||||
{
|
{
|
||||||
return radeon_crtc_do_set_base(crtc, fb, x, y, 1);
|
return radeon_crtc_do_set_base(crtc, fb, x, y, 1);
|
||||||
}
|
}
|
||||||
|
@ -35,6 +35,7 @@
|
|||||||
#include <drm_edid.h>
|
#include <drm_edid.h>
|
||||||
#include <drm_dp_helper.h>
|
#include <drm_dp_helper.h>
|
||||||
#include <drm_fixed.h>
|
#include <drm_fixed.h>
|
||||||
|
#include <drm_crtc_helper.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/i2c-id.h>
|
#include <linux/i2c-id.h>
|
||||||
#include <linux/i2c-algo-bit.h>
|
#include <linux/i2c-algo-bit.h>
|
||||||
@ -526,7 +527,8 @@ extern int atombios_crtc_set_base(struct drm_crtc *crtc, int x, int y,
|
|||||||
struct drm_framebuffer *old_fb);
|
struct drm_framebuffer *old_fb);
|
||||||
extern int atombios_crtc_set_base_atomic(struct drm_crtc *crtc,
|
extern int atombios_crtc_set_base_atomic(struct drm_crtc *crtc,
|
||||||
struct drm_framebuffer *fb,
|
struct drm_framebuffer *fb,
|
||||||
int x, int y, int enter);
|
int x, int y,
|
||||||
|
enum mode_set_atomic state);
|
||||||
extern int atombios_crtc_mode_set(struct drm_crtc *crtc,
|
extern int atombios_crtc_mode_set(struct drm_crtc *crtc,
|
||||||
struct drm_display_mode *mode,
|
struct drm_display_mode *mode,
|
||||||
struct drm_display_mode *adjusted_mode,
|
struct drm_display_mode *adjusted_mode,
|
||||||
@ -538,7 +540,8 @@ extern int radeon_crtc_set_base(struct drm_crtc *crtc, int x, int y,
|
|||||||
struct drm_framebuffer *old_fb);
|
struct drm_framebuffer *old_fb);
|
||||||
extern int radeon_crtc_set_base_atomic(struct drm_crtc *crtc,
|
extern int radeon_crtc_set_base_atomic(struct drm_crtc *crtc,
|
||||||
struct drm_framebuffer *fb,
|
struct drm_framebuffer *fb,
|
||||||
int x, int y, int enter);
|
int x, int y,
|
||||||
|
enum mode_set_atomic state);
|
||||||
extern int radeon_crtc_do_set_base(struct drm_crtc *crtc,
|
extern int radeon_crtc_do_set_base(struct drm_crtc *crtc,
|
||||||
struct drm_framebuffer *fb,
|
struct drm_framebuffer *fb,
|
||||||
int x, int y, int atomic);
|
int x, int y, int atomic);
|
||||||
|
@ -39,6 +39,11 @@
|
|||||||
|
|
||||||
#include <linux/fb.h>
|
#include <linux/fb.h>
|
||||||
|
|
||||||
|
enum mode_set_atomic {
|
||||||
|
LEAVE_ATOMIC_MODE_SET,
|
||||||
|
ENTER_ATOMIC_MODE_SET,
|
||||||
|
};
|
||||||
|
|
||||||
struct drm_crtc_helper_funcs {
|
struct drm_crtc_helper_funcs {
|
||||||
/*
|
/*
|
||||||
* Control power levels on the CRTC. If the mode passed in is
|
* Control power levels on the CRTC. If the mode passed in is
|
||||||
@ -62,7 +67,7 @@ struct drm_crtc_helper_funcs {
|
|||||||
struct drm_framebuffer *old_fb);
|
struct drm_framebuffer *old_fb);
|
||||||
int (*mode_set_base_atomic)(struct drm_crtc *crtc,
|
int (*mode_set_base_atomic)(struct drm_crtc *crtc,
|
||||||
struct drm_framebuffer *fb, int x, int y,
|
struct drm_framebuffer *fb, int x, int y,
|
||||||
int is_enter);
|
enum mode_set_atomic);
|
||||||
|
|
||||||
/* reload the current crtc LUT */
|
/* reload the current crtc LUT */
|
||||||
void (*load_lut)(struct drm_crtc *crtc);
|
void (*load_lut)(struct drm_crtc *crtc);
|
||||||
|
Loading…
Reference in New Issue
Block a user