drm/nouveau: allocate device object for every client
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
@@ -281,7 +281,7 @@ static void nv04_dfp_mode_set(struct drm_encoder *encoder,
|
||||
struct drm_display_mode *adjusted_mode)
|
||||
{
|
||||
struct drm_device *dev = encoder->dev;
|
||||
struct nvif_object *device = &nouveau_drm(dev)->device.object;
|
||||
struct nvif_object *device = &nouveau_drm(dev)->client.device.object;
|
||||
struct nouveau_drm *drm = nouveau_drm(dev);
|
||||
struct nouveau_crtc *nv_crtc = nouveau_crtc(encoder->crtc);
|
||||
struct nv04_crtc_reg *regp = &nv04_display(dev)->mode_reg.crtc_reg[nv_crtc->index];
|
||||
@@ -417,7 +417,7 @@ static void nv04_dfp_mode_set(struct drm_encoder *encoder,
|
||||
if ((nv_connector->dithering_mode == DITHERING_MODE_ON) ||
|
||||
(nv_connector->dithering_mode == DITHERING_MODE_AUTO &&
|
||||
fb->format->depth > connector->display_info.bpc * 3)) {
|
||||
if (drm->device.info.chipset == 0x11)
|
||||
if (drm->client.device.info.chipset == 0x11)
|
||||
regp->dither = savep->dither | 0x00010000;
|
||||
else {
|
||||
int i;
|
||||
@@ -428,7 +428,7 @@ static void nv04_dfp_mode_set(struct drm_encoder *encoder,
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (drm->device.info.chipset != 0x11) {
|
||||
if (drm->client.device.info.chipset != 0x11) {
|
||||
/* reset them */
|
||||
int i;
|
||||
for (i = 0; i < 3; i++) {
|
||||
@@ -464,7 +464,7 @@ static void nv04_dfp_commit(struct drm_encoder *encoder)
|
||||
NVReadRAMDAC(dev, head, NV_PRAMDAC_FP_TG_CONTROL);
|
||||
|
||||
/* This could use refinement for flatpanels, but it should work this way */
|
||||
if (drm->device.info.chipset < 0x44)
|
||||
if (drm->client.device.info.chipset < 0x44)
|
||||
NVWriteRAMDAC(dev, 0, NV_PRAMDAC_TEST_CONTROL + nv04_dac_output_offset(encoder), 0xf0000000);
|
||||
else
|
||||
NVWriteRAMDAC(dev, 0, NV_PRAMDAC_TEST_CONTROL + nv04_dac_output_offset(encoder), 0x00100000);
|
||||
@@ -486,7 +486,7 @@ static void nv04_dfp_update_backlight(struct drm_encoder *encoder, int mode)
|
||||
{
|
||||
#ifdef __powerpc__
|
||||
struct drm_device *dev = encoder->dev;
|
||||
struct nvif_object *device = &nouveau_drm(dev)->device.object;
|
||||
struct nvif_object *device = &nouveau_drm(dev)->client.device.object;
|
||||
|
||||
/* BIOS scripts usually take care of the backlight, thanks
|
||||
* Apple for your consistency.
|
||||
@@ -624,7 +624,7 @@ static void nv04_tmds_slave_init(struct drm_encoder *encoder)
|
||||
struct drm_device *dev = encoder->dev;
|
||||
struct dcb_output *dcb = nouveau_encoder(encoder)->dcb;
|
||||
struct nouveau_drm *drm = nouveau_drm(dev);
|
||||
struct nvkm_i2c *i2c = nvxx_i2c(&drm->device);
|
||||
struct nvkm_i2c *i2c = nvxx_i2c(&drm->client.device);
|
||||
struct nvkm_i2c_bus *bus = nvkm_i2c_bus_find(i2c, NVKM_I2C_BUS_PRI);
|
||||
struct nvkm_i2c_bus_probe info[] = {
|
||||
{
|
||||
|
Reference in New Issue
Block a user