提交 77307051 编写于 作者: B Ben Skeggs

drm/nv50/gpio: fixup reset for gpios >= 16

Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
上级 5cfd48b2
...@@ -46,7 +46,8 @@ nv50_gpio_reset(struct nouveau_gpio *gpio, u8 match) ...@@ -46,7 +46,8 @@ nv50_gpio_reset(struct nouveau_gpio *gpio, u8 match)
u8 unk0 = !!(data & 0x02000000); u8 unk0 = !!(data & 0x02000000);
u8 unk1 = !!(data & 0x04000000); u8 unk1 = !!(data & 0x04000000);
u32 val = (unk1 << 16) | unk0; u32 val = (unk1 << 16) | unk0;
u32 reg = regs[line >> 4]; line &= 0x0f; u32 reg = regs[line >> 4];
u32 lsh = line & 0x0f;
if ( func == DCB_GPIO_UNUSED || if ( func == DCB_GPIO_UNUSED ||
(match != DCB_GPIO_UNUSED && match != func)) (match != DCB_GPIO_UNUSED && match != func))
...@@ -54,7 +55,7 @@ nv50_gpio_reset(struct nouveau_gpio *gpio, u8 match) ...@@ -54,7 +55,7 @@ nv50_gpio_reset(struct nouveau_gpio *gpio, u8 match)
gpio->set(gpio, 0, func, line, defs); gpio->set(gpio, 0, func, line, defs);
nv_mask(priv, reg, 0x00010001 << line, val << line); nv_mask(priv, reg, 0x00010001 << lsh, val << lsh);
} }
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册