mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-07 15:01:44 +00:00
drm/nve0/disp: nvidia randomly decided to move the dithering method
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
parent
68455a43de
commit
e592c73b91
1 changed files with 8 additions and 1 deletions
|
@ -363,10 +363,12 @@ nvd0_display_flip_next(struct drm_crtc *crtc, struct drm_framebuffer *fb,
|
||||||
static int
|
static int
|
||||||
nvd0_crtc_set_dither(struct nouveau_crtc *nv_crtc, bool update)
|
nvd0_crtc_set_dither(struct nouveau_crtc *nv_crtc, bool update)
|
||||||
{
|
{
|
||||||
|
struct drm_nouveau_private *dev_priv = nv_crtc->base.dev->dev_private;
|
||||||
struct drm_device *dev = nv_crtc->base.dev;
|
struct drm_device *dev = nv_crtc->base.dev;
|
||||||
struct nouveau_connector *nv_connector;
|
struct nouveau_connector *nv_connector;
|
||||||
struct drm_connector *connector;
|
struct drm_connector *connector;
|
||||||
u32 *push, mode = 0x00;
|
u32 *push, mode = 0x00;
|
||||||
|
u32 mthd;
|
||||||
|
|
||||||
nv_connector = nouveau_crtc_connector_get(nv_crtc);
|
nv_connector = nouveau_crtc_connector_get(nv_crtc);
|
||||||
connector = &nv_connector->base;
|
connector = &nv_connector->base;
|
||||||
|
@ -384,9 +386,14 @@ nvd0_crtc_set_dither(struct nouveau_crtc *nv_crtc, bool update)
|
||||||
mode |= nv_connector->dithering_depth;
|
mode |= nv_connector->dithering_depth;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (dev_priv->card_type < NV_E0)
|
||||||
|
mthd = 0x0490 + (nv_crtc->index * 0x0300);
|
||||||
|
else
|
||||||
|
mthd = 0x04a0 + (nv_crtc->index * 0x0300);
|
||||||
|
|
||||||
push = evo_wait(dev, EVO_MASTER, 4);
|
push = evo_wait(dev, EVO_MASTER, 4);
|
||||||
if (push) {
|
if (push) {
|
||||||
evo_mthd(push, 0x0490 + (nv_crtc->index * 0x300), 1);
|
evo_mthd(push, mthd, 1);
|
||||||
evo_data(push, mode);
|
evo_data(push, mode);
|
||||||
if (update) {
|
if (update) {
|
||||||
evo_mthd(push, 0x0080, 1);
|
evo_mthd(push, 0x0080, 1);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue