Merge branch 'drm-nouveau-fixes' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-fixes
just some misc regression fixes and typo fixes. * 'drm-nouveau-fixes' of git://anongit.freedesktop.org/git/nouveau/linux-2.6: drm/nouveau: fix acpi edid retrieval drm/nvc0/disp: fix regression in vblank semaphore release drm/nv40/mpeg: fix context handling drm/nv40/graph: fix typo in type names drm/nv41/vm: fix typo in type name
This commit is contained in:
Коммит
4a48ed2334
|
@ -22,6 +22,8 @@
|
|||
* Authors: Ben Skeggs
|
||||
*/
|
||||
|
||||
#include <subdev/bar.h>
|
||||
|
||||
#include <engine/software.h>
|
||||
#include <engine/disp.h>
|
||||
|
||||
|
@ -37,6 +39,7 @@ nv50_disp_sclass[] = {
|
|||
static void
|
||||
nv50_disp_intr_vblank(struct nv50_disp_priv *priv, int crtc)
|
||||
{
|
||||
struct nouveau_bar *bar = nouveau_bar(priv);
|
||||
struct nouveau_disp *disp = &priv->base;
|
||||
struct nouveau_software_chan *chan, *temp;
|
||||
unsigned long flags;
|
||||
|
@ -46,18 +49,19 @@ nv50_disp_intr_vblank(struct nv50_disp_priv *priv, int crtc)
|
|||
if (chan->vblank.crtc != crtc)
|
||||
continue;
|
||||
|
||||
nv_wr32(priv, 0x001704, chan->vblank.channel);
|
||||
nv_wr32(priv, 0x001710, 0x80000000 | chan->vblank.ctxdma);
|
||||
|
||||
if (nv_device(priv)->chipset == 0x50) {
|
||||
nv_wr32(priv, 0x001704, chan->vblank.channel);
|
||||
nv_wr32(priv, 0x001710, 0x80000000 | chan->vblank.ctxdma);
|
||||
bar->flush(bar);
|
||||
nv_wr32(priv, 0x001570, chan->vblank.offset);
|
||||
nv_wr32(priv, 0x001574, chan->vblank.value);
|
||||
} else {
|
||||
if (nv_device(priv)->chipset >= 0xc0) {
|
||||
nv_wr32(priv, 0x06000c,
|
||||
upper_32_bits(chan->vblank.offset));
|
||||
}
|
||||
nv_wr32(priv, 0x060010, chan->vblank.offset);
|
||||
nv_wr32(priv, 0x001718, 0x80000000 | chan->vblank.channel);
|
||||
bar->flush(bar);
|
||||
nv_wr32(priv, 0x06000c,
|
||||
upper_32_bits(chan->vblank.offset));
|
||||
nv_wr32(priv, 0x060010,
|
||||
lower_32_bits(chan->vblank.offset));
|
||||
nv_wr32(priv, 0x060014, chan->vblank.value);
|
||||
}
|
||||
|
||||
|
|
|
@ -156,8 +156,8 @@ nv40_graph_context_ctor(struct nouveau_object *parent,
|
|||
static int
|
||||
nv40_graph_context_fini(struct nouveau_object *object, bool suspend)
|
||||
{
|
||||
struct nv04_graph_priv *priv = (void *)object->engine;
|
||||
struct nv04_graph_chan *chan = (void *)object;
|
||||
struct nv40_graph_priv *priv = (void *)object->engine;
|
||||
struct nv40_graph_chan *chan = (void *)object;
|
||||
u32 inst = 0x01000000 | nv_gpuobj(chan)->addr >> 4;
|
||||
int ret = 0;
|
||||
|
||||
|
|
|
@ -38,7 +38,7 @@ struct nv40_mpeg_priv {
|
|||
};
|
||||
|
||||
struct nv40_mpeg_chan {
|
||||
struct nouveau_mpeg base;
|
||||
struct nouveau_mpeg_chan base;
|
||||
};
|
||||
|
||||
/*******************************************************************************
|
||||
|
|
|
@ -67,7 +67,7 @@ nv41_vm_unmap(struct nouveau_gpuobj *pgt, u32 pte, u32 cnt)
|
|||
static void
|
||||
nv41_vm_flush(struct nouveau_vm *vm)
|
||||
{
|
||||
struct nv04_vm_priv *priv = (void *)vm->vmm;
|
||||
struct nv04_vmmgr_priv *priv = (void *)vm->vmm;
|
||||
|
||||
mutex_lock(&nv_subdev(priv)->mutex);
|
||||
nv_wr32(priv, 0x100810, 0x00000022);
|
||||
|
|
|
@ -355,7 +355,7 @@ nouveau_connector_detect_lvds(struct drm_connector *connector, bool force)
|
|||
* valid - it's not (rh#613284)
|
||||
*/
|
||||
if (nv_encoder->dcb->lvdsconf.use_acpi_for_edid) {
|
||||
if (!(nv_connector->edid = nouveau_acpi_edid(dev, connector))) {
|
||||
if ((nv_connector->edid = nouveau_acpi_edid(dev, connector))) {
|
||||
status = connector_status_connected;
|
||||
goto out;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче