diff options
| -rw-r--r-- | drivers/gpu/drm/nouveau/core/subdev/bios/pll.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/pll.c b/drivers/gpu/drm/nouveau/core/subdev/bios/pll.c index 5e5f4cddae3c..f835501203e5 100644 --- a/drivers/gpu/drm/nouveau/core/subdev/bios/pll.c +++ b/drivers/gpu/drm/nouveau/core/subdev/bios/pll.c | |||
| @@ -157,11 +157,10 @@ pll_map_reg(struct nouveau_bios *bios, u32 reg, u32 *type, u8 *ver, u8 *len) | |||
| 157 | while (map->reg) { | 157 | while (map->reg) { |
| 158 | if (map->reg == reg && *ver >= 0x20) { | 158 | if (map->reg == reg && *ver >= 0x20) { |
| 159 | u16 addr = (data += hdr); | 159 | u16 addr = (data += hdr); |
| 160 | *type = map->type; | ||
| 160 | while (cnt--) { | 161 | while (cnt--) { |
| 161 | if (nv_ro32(bios, data) == map->reg) { | 162 | if (nv_ro32(bios, data) == map->reg) |
| 162 | *type = map->type; | ||
| 163 | return data; | 163 | return data; |
| 164 | } | ||
| 165 | data += *len; | 164 | data += *len; |
| 166 | } | 165 | } |
| 167 | return addr; | 166 | return addr; |
| @@ -200,11 +199,10 @@ pll_map_type(struct nouveau_bios *bios, u8 type, u32 *reg, u8 *ver, u8 *len) | |||
| 200 | while (map->reg) { | 199 | while (map->reg) { |
| 201 | if (map->type == type && *ver >= 0x20) { | 200 | if (map->type == type && *ver >= 0x20) { |
| 202 | u16 addr = (data += hdr); | 201 | u16 addr = (data += hdr); |
| 202 | *reg = map->reg; | ||
| 203 | while (cnt--) { | 203 | while (cnt--) { |
| 204 | if (nv_ro32(bios, data) == map->reg) { | 204 | if (nv_ro32(bios, data) == map->reg) |
| 205 | *reg = map->reg; | ||
| 206 | return data; | 205 | return data; |
| 207 | } | ||
| 208 | data += *len; | 206 | data += *len; |
| 209 | } | 207 | } |
| 210 | return addr; | 208 | return addr; |
