forked from Minki/linux
drm/nouveau/kms/nv50: rename remaining nv50_crtc to nv50_head
No code changes, just renames + shuffles. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
parent
f00f0e218b
commit
9bfdee9a08
@ -2175,21 +2175,8 @@ nv50_head_atomic_check(struct drm_crtc *crtc, struct drm_crtc_state *state)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* CRTC
|
||||
*****************************************************************************/
|
||||
|
||||
static int
|
||||
nv50_crtc_mode_set_base_atomic(struct drm_crtc *crtc,
|
||||
struct drm_framebuffer *fb, int x, int y,
|
||||
enum mode_set_atomic state)
|
||||
{
|
||||
WARN_ON(1);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void
|
||||
nv50_crtc_lut_load(struct drm_crtc *crtc)
|
||||
nv50_head_lut_load(struct drm_crtc *crtc)
|
||||
{
|
||||
struct nv50_disp *disp = nv50_disp(crtc->dev);
|
||||
struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc);
|
||||
@ -2214,45 +2201,18 @@ nv50_crtc_lut_load(struct drm_crtc *crtc)
|
||||
}
|
||||
|
||||
static int
|
||||
nv50_crtc_gamma_set(struct drm_crtc *crtc, u16 *r, u16 *g, u16 *b,
|
||||
uint32_t size)
|
||||
nv50_head_mode_set_base_atomic(struct drm_crtc *crtc,
|
||||
struct drm_framebuffer *fb, int x, int y,
|
||||
enum mode_set_atomic state)
|
||||
{
|
||||
struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc);
|
||||
u32 i;
|
||||
|
||||
for (i = 0; i < size; i++) {
|
||||
nv_crtc->lut.r[i] = r[i];
|
||||
nv_crtc->lut.g[i] = g[i];
|
||||
nv_crtc->lut.b[i] = b[i];
|
||||
}
|
||||
|
||||
nv50_crtc_lut_load(crtc);
|
||||
|
||||
WARN_ON(1);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void
|
||||
nv50_crtc_destroy(struct drm_crtc *crtc)
|
||||
{
|
||||
struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc);
|
||||
struct nv50_disp *disp = nv50_disp(crtc->dev);
|
||||
struct nv50_head *head = nv50_head(crtc);
|
||||
|
||||
nv50_dmac_destroy(&head->ovly.base, disp->disp);
|
||||
nv50_pioc_destroy(&head->oimm.base);
|
||||
|
||||
nouveau_bo_unmap(nv_crtc->lut.nvbo);
|
||||
if (nv_crtc->lut.nvbo)
|
||||
nouveau_bo_unpin(nv_crtc->lut.nvbo);
|
||||
nouveau_bo_ref(NULL, &nv_crtc->lut.nvbo);
|
||||
|
||||
drm_crtc_cleanup(crtc);
|
||||
kfree(crtc);
|
||||
}
|
||||
|
||||
static const struct drm_crtc_helper_funcs nv50_crtc_hfunc = {
|
||||
.mode_set_base_atomic = nv50_crtc_mode_set_base_atomic,
|
||||
.load_lut = nv50_crtc_lut_load,
|
||||
static const struct drm_crtc_helper_funcs
|
||||
nv50_head_help = {
|
||||
.mode_set_base_atomic = nv50_head_mode_set_base_atomic,
|
||||
.load_lut = nv50_head_lut_load,
|
||||
.atomic_check = nv50_head_atomic_check,
|
||||
};
|
||||
|
||||
@ -2327,6 +2287,23 @@ backoff:
|
||||
goto retry;
|
||||
}
|
||||
|
||||
static int
|
||||
nv50_head_gamma_set(struct drm_crtc *crtc, u16 *r, u16 *g, u16 *b,
|
||||
uint32_t size)
|
||||
{
|
||||
struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc);
|
||||
u32 i;
|
||||
|
||||
for (i = 0; i < size; i++) {
|
||||
nv_crtc->lut.r[i] = r[i];
|
||||
nv_crtc->lut.g[i] = g[i];
|
||||
nv_crtc->lut.b[i] = b[i];
|
||||
}
|
||||
|
||||
nv50_head_lut_load(crtc);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void
|
||||
nv50_head_atomic_destroy_state(struct drm_crtc *crtc,
|
||||
struct drm_crtc_state *state)
|
||||
@ -2379,10 +2356,30 @@ nv50_head_reset(struct drm_crtc *crtc)
|
||||
__drm_atomic_helper_crtc_reset(crtc, &asyh->state);
|
||||
}
|
||||
|
||||
static const struct drm_crtc_funcs nv50_crtc_func = {
|
||||
static void
|
||||
nv50_head_destroy(struct drm_crtc *crtc)
|
||||
{
|
||||
struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc);
|
||||
struct nv50_disp *disp = nv50_disp(crtc->dev);
|
||||
struct nv50_head *head = nv50_head(crtc);
|
||||
|
||||
nv50_dmac_destroy(&head->ovly.base, disp->disp);
|
||||
nv50_pioc_destroy(&head->oimm.base);
|
||||
|
||||
nouveau_bo_unmap(nv_crtc->lut.nvbo);
|
||||
if (nv_crtc->lut.nvbo)
|
||||
nouveau_bo_unpin(nv_crtc->lut.nvbo);
|
||||
nouveau_bo_ref(NULL, &nv_crtc->lut.nvbo);
|
||||
|
||||
drm_crtc_cleanup(crtc);
|
||||
kfree(crtc);
|
||||
}
|
||||
|
||||
static const struct drm_crtc_funcs
|
||||
nv50_head_func = {
|
||||
.reset = nv50_head_reset,
|
||||
.gamma_set = nv50_crtc_gamma_set,
|
||||
.destroy = nv50_crtc_destroy,
|
||||
.gamma_set = nv50_head_gamma_set,
|
||||
.destroy = nv50_head_destroy,
|
||||
.set_config = drm_atomic_helper_set_config,
|
||||
.page_flip = nv50_head_page_flip,
|
||||
.set_property = drm_atomic_helper_crtc_set_property,
|
||||
@ -2391,7 +2388,7 @@ static const struct drm_crtc_funcs nv50_crtc_func = {
|
||||
};
|
||||
|
||||
static int
|
||||
nv50_crtc_create(struct drm_device *dev, int index)
|
||||
nv50_head_create(struct drm_device *dev, int index)
|
||||
{
|
||||
struct nouveau_drm *drm = nouveau_drm(dev);
|
||||
struct nvif_device *device = &drm->device;
|
||||
@ -2423,9 +2420,9 @@ nv50_crtc_create(struct drm_device *dev, int index)
|
||||
|
||||
crtc = &head->base.base;
|
||||
drm_crtc_init_with_planes(dev, crtc, &base->wndw.plane,
|
||||
&curs->wndw.plane, &nv50_crtc_func,
|
||||
&curs->wndw.plane, &nv50_head_func,
|
||||
"head-%d", head->base.index);
|
||||
drm_crtc_helper_add(crtc, &nv50_crtc_hfunc);
|
||||
drm_crtc_helper_add(crtc, &nv50_head_help);
|
||||
drm_mode_crtc_set_gamma_size(crtc, 256);
|
||||
|
||||
ret = nouveau_bo_new(dev, 8192, 0x100, TTM_PL_FLAG_VRAM,
|
||||
@ -2456,7 +2453,7 @@ nv50_crtc_create(struct drm_device *dev, int index)
|
||||
|
||||
out:
|
||||
if (ret)
|
||||
nv50_crtc_destroy(crtc);
|
||||
nv50_head_destroy(crtc);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -3836,7 +3833,7 @@ nv50_display_init(struct drm_device *dev)
|
||||
}
|
||||
|
||||
drm_for_each_crtc(crtc, dev) {
|
||||
nv50_crtc_lut_load(crtc);
|
||||
nv50_head_lut_load(crtc);
|
||||
}
|
||||
|
||||
drm_for_each_plane(plane, dev) {
|
||||
@ -3925,7 +3922,7 @@ nv50_display_create(struct drm_device *dev)
|
||||
crtcs = 2;
|
||||
|
||||
for (i = 0; i < crtcs; i++) {
|
||||
ret = nv50_crtc_create(dev, i);
|
||||
ret = nv50_head_create(dev, i);
|
||||
if (ret)
|
||||
goto out;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user