drm/nouveau: kill nouveau_dev() + wrap register macros
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
@@ -40,8 +40,8 @@ static int
|
||||
nv40_get_intensity(struct backlight_device *bd)
|
||||
{
|
||||
struct nouveau_drm *drm = bl_get_data(bd);
|
||||
struct nouveau_device *device = nv_device(drm->device);
|
||||
int val = (nv_rd32(device, NV40_PMC_BACKLIGHT) &
|
||||
struct nouveau_object *device = drm->device;
|
||||
int val = (nvif_rd32(device, NV40_PMC_BACKLIGHT) &
|
||||
NV40_PMC_BACKLIGHT_MASK) >> 16;
|
||||
|
||||
return val;
|
||||
@@ -51,11 +51,11 @@ static int
|
||||
nv40_set_intensity(struct backlight_device *bd)
|
||||
{
|
||||
struct nouveau_drm *drm = bl_get_data(bd);
|
||||
struct nouveau_device *device = nv_device(drm->device);
|
||||
struct nouveau_object *device = drm->device;
|
||||
int val = bd->props.brightness;
|
||||
int reg = nv_rd32(device, NV40_PMC_BACKLIGHT);
|
||||
int reg = nvif_rd32(device, NV40_PMC_BACKLIGHT);
|
||||
|
||||
nv_wr32(device, NV40_PMC_BACKLIGHT,
|
||||
nvif_wr32(device, NV40_PMC_BACKLIGHT,
|
||||
(val << 16) | (reg & ~NV40_PMC_BACKLIGHT_MASK));
|
||||
|
||||
return 0;
|
||||
@@ -71,11 +71,11 @@ static int
|
||||
nv40_backlight_init(struct drm_connector *connector)
|
||||
{
|
||||
struct nouveau_drm *drm = nouveau_drm(connector->dev);
|
||||
struct nouveau_device *device = nv_device(drm->device);
|
||||
struct nouveau_object *device = drm->device;
|
||||
struct backlight_properties props;
|
||||
struct backlight_device *bd;
|
||||
|
||||
if (!(nv_rd32(device, NV40_PMC_BACKLIGHT) & NV40_PMC_BACKLIGHT_MASK))
|
||||
if (!(nvif_rd32(device, NV40_PMC_BACKLIGHT) & NV40_PMC_BACKLIGHT_MASK))
|
||||
return 0;
|
||||
|
||||
memset(&props, 0, sizeof(struct backlight_properties));
|
||||
@@ -97,12 +97,12 @@ nv50_get_intensity(struct backlight_device *bd)
|
||||
{
|
||||
struct nouveau_encoder *nv_encoder = bl_get_data(bd);
|
||||
struct nouveau_drm *drm = nouveau_drm(nv_encoder->base.base.dev);
|
||||
struct nouveau_device *device = nv_device(drm->device);
|
||||
struct nouveau_object *device = drm->device;
|
||||
int or = nv_encoder->or;
|
||||
u32 div = 1025;
|
||||
u32 val;
|
||||
|
||||
val = nv_rd32(device, NV50_PDISP_SOR_PWM_CTL(or));
|
||||
val = nvif_rd32(device, NV50_PDISP_SOR_PWM_CTL(or));
|
||||
val &= NV50_PDISP_SOR_PWM_CTL_VAL;
|
||||
return ((val * 100) + (div / 2)) / div;
|
||||
}
|
||||
@@ -112,12 +112,12 @@ nv50_set_intensity(struct backlight_device *bd)
|
||||
{
|
||||
struct nouveau_encoder *nv_encoder = bl_get_data(bd);
|
||||
struct nouveau_drm *drm = nouveau_drm(nv_encoder->base.base.dev);
|
||||
struct nouveau_device *device = nv_device(drm->device);
|
||||
struct nouveau_object *device = drm->device;
|
||||
int or = nv_encoder->or;
|
||||
u32 div = 1025;
|
||||
u32 val = (bd->props.brightness * div) / 100;
|
||||
|
||||
nv_wr32(device, NV50_PDISP_SOR_PWM_CTL(or),
|
||||
nvif_wr32(device, NV50_PDISP_SOR_PWM_CTL(or),
|
||||
NV50_PDISP_SOR_PWM_CTL_NEW | val);
|
||||
return 0;
|
||||
}
|
||||
@@ -133,12 +133,12 @@ nva3_get_intensity(struct backlight_device *bd)
|
||||
{
|
||||
struct nouveau_encoder *nv_encoder = bl_get_data(bd);
|
||||
struct nouveau_drm *drm = nouveau_drm(nv_encoder->base.base.dev);
|
||||
struct nouveau_device *device = nv_device(drm->device);
|
||||
struct nouveau_object *device = drm->device;
|
||||
int or = nv_encoder->or;
|
||||
u32 div, val;
|
||||
|
||||
div = nv_rd32(device, NV50_PDISP_SOR_PWM_DIV(or));
|
||||
val = nv_rd32(device, NV50_PDISP_SOR_PWM_CTL(or));
|
||||
div = nvif_rd32(device, NV50_PDISP_SOR_PWM_DIV(or));
|
||||
val = nvif_rd32(device, NV50_PDISP_SOR_PWM_CTL(or));
|
||||
val &= NVA3_PDISP_SOR_PWM_CTL_VAL;
|
||||
if (div && div >= val)
|
||||
return ((val * 100) + (div / 2)) / div;
|
||||
@@ -151,14 +151,14 @@ nva3_set_intensity(struct backlight_device *bd)
|
||||
{
|
||||
struct nouveau_encoder *nv_encoder = bl_get_data(bd);
|
||||
struct nouveau_drm *drm = nouveau_drm(nv_encoder->base.base.dev);
|
||||
struct nouveau_device *device = nv_device(drm->device);
|
||||
struct nouveau_object *device = drm->device;
|
||||
int or = nv_encoder->or;
|
||||
u32 div, val;
|
||||
|
||||
div = nv_rd32(device, NV50_PDISP_SOR_PWM_DIV(or));
|
||||
div = nvif_rd32(device, NV50_PDISP_SOR_PWM_DIV(or));
|
||||
val = (bd->props.brightness * div) / 100;
|
||||
if (div) {
|
||||
nv_wr32(device, NV50_PDISP_SOR_PWM_CTL(or), val |
|
||||
nvif_wr32(device, NV50_PDISP_SOR_PWM_CTL(or), val |
|
||||
NV50_PDISP_SOR_PWM_CTL_NEW |
|
||||
NVA3_PDISP_SOR_PWM_CTL_UNK);
|
||||
return 0;
|
||||
@@ -177,7 +177,7 @@ static int
|
||||
nv50_backlight_init(struct drm_connector *connector)
|
||||
{
|
||||
struct nouveau_drm *drm = nouveau_drm(connector->dev);
|
||||
struct nouveau_device *device = nv_device(drm->device);
|
||||
struct nouveau_object *device = drm->device;
|
||||
struct nouveau_encoder *nv_encoder;
|
||||
struct backlight_properties props;
|
||||
struct backlight_device *bd;
|
||||
@@ -190,12 +190,12 @@ nv50_backlight_init(struct drm_connector *connector)
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
if (!nv_rd32(device, NV50_PDISP_SOR_PWM_CTL(nv_encoder->or)))
|
||||
if (!nvif_rd32(device, NV50_PDISP_SOR_PWM_CTL(nv_encoder->or)))
|
||||
return 0;
|
||||
|
||||
if (device->chipset <= 0xa0 ||
|
||||
device->chipset == 0xaa ||
|
||||
device->chipset == 0xac)
|
||||
if (nv_device(device)->chipset <= 0xa0 ||
|
||||
nv_device(device)->chipset == 0xaa ||
|
||||
nv_device(device)->chipset == 0xac)
|
||||
ops = &nv50_bl_ops;
|
||||
else
|
||||
ops = &nva3_bl_ops;
|
||||
@@ -218,7 +218,7 @@ int
|
||||
nouveau_backlight_init(struct drm_device *dev)
|
||||
{
|
||||
struct nouveau_drm *drm = nouveau_drm(dev);
|
||||
struct nouveau_device *device = nv_device(drm->device);
|
||||
struct nouveau_object *device = drm->device;
|
||||
struct drm_connector *connector;
|
||||
|
||||
list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
|
||||
@@ -226,7 +226,7 @@ nouveau_backlight_init(struct drm_device *dev)
|
||||
connector->connector_type != DRM_MODE_CONNECTOR_eDP)
|
||||
continue;
|
||||
|
||||
switch (device->card_type) {
|
||||
switch (nv_device(device)->card_type) {
|
||||
case NV_40:
|
||||
return nv40_backlight_init(connector);
|
||||
case NV_50:
|
||||
|
Viittaa uudesa ongelmassa
Block a user