Commit 6ef4ead1 authored by Ben Skeggs's avatar Ben Skeggs

drm/nouveau/bios: log if auxch accesses fail, also return 0x00 from rd when it does

Logging at trace level, rather than as en error, as it seems conceivable
that failure could be normal under certain circumstances (new bios,
older sink that doesn't support a particular DPCD address)
Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent ba6e34e6
...@@ -278,7 +278,7 @@ init_wri2cr(struct nvbios_init *init, u8 index, u8 addr, u8 reg, u8 val) ...@@ -278,7 +278,7 @@ init_wri2cr(struct nvbios_init *init, u8 index, u8 addr, u8 reg, u8 val)
return -ENODEV; return -ENODEV;
} }
static int static u8
init_rdauxr(struct nvbios_init *init, u32 addr) init_rdauxr(struct nvbios_init *init, u32 addr)
{ {
struct nouveau_i2c_port *port = init_i2c(init, -2); struct nouveau_i2c_port *port = init_i2c(init, -2);
...@@ -286,20 +286,24 @@ init_rdauxr(struct nvbios_init *init, u32 addr) ...@@ -286,20 +286,24 @@ init_rdauxr(struct nvbios_init *init, u32 addr)
if (port && init_exec(init)) { if (port && init_exec(init)) {
int ret = nv_rdaux(port, addr, &data, 1); int ret = nv_rdaux(port, addr, &data, 1);
if (ret) if (ret == 0)
return ret;
return data; return data;
trace("auxch read failed with %d\n", ret);
} }
return -ENODEV; return 0x00;
} }
static int static int
init_wrauxr(struct nvbios_init *init, u32 addr, u8 data) init_wrauxr(struct nvbios_init *init, u32 addr, u8 data)
{ {
struct nouveau_i2c_port *port = init_i2c(init, -2); struct nouveau_i2c_port *port = init_i2c(init, -2);
if (port && init_exec(init)) if (port && init_exec(init)) {
return nv_wraux(port, addr, &data, 1); int ret = nv_wraux(port, addr, &data, 1);
if (ret)
trace("auxch write failed with %d\n", ret);
return ret;
}
return -ENODEV; return -ENODEV;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment