nvkm_wr32(device, info.reg + 0x10, fN << 16);
break;
default:
- nv_warn(init, "0x%08x/%dKhz unimplemented\n", type, freq);
+ nvkm_warn(subdev, "%08x/%dKhz unimplemented\n", type, freq);
ret = -EINVAL;
break;
}
pmu_load(struct nv50_devinit *init, u8 type, bool post,
u32 *init_addr_pmu, u32 *args_addr_pmu)
{
- struct nvkm_bios *bios = nvkm_bios(init);
+ struct nvkm_subdev *subdev = &init->base.subdev;
+ struct nvkm_bios *bios = subdev->device->bios;
struct nvbios_pmuR pmu;
if (!nvbios_pmuRm(bios, type, &pmu)) {
- nv_error(init, "VBIOS PMU fuc %02x not found\n", type);
+ nvkm_error(subdev, "VBIOS PMU fuc %02x not found\n", type);
return -EINVAL;
}
gm204_devinit_post(struct nvkm_subdev *subdev, bool post)
{
struct nv50_devinit *init = (void *)nvkm_devinit(subdev);
- struct nvkm_device *device = init->base.subdev.device;
+ struct nvkm_device *device = subdev->device;
struct nvkm_bios *bios = device->bios;
struct bit_entry bit_I;
u32 exec, args;
if (bit_entry(bios, 'I', &bit_I) || bit_I.version != 1 ||
bit_I.length < 0x1c) {
- nv_error(init, "VBIOS PMU init data not found\n");
+ nvkm_error(subdev, "VBIOS PMU init data not found\n");
return -EINVAL;
}
nvkm_wr32(device, info.reg + 8, fN);
break;
default:
- nv_warn(init, "0x%08x/%dKhz unimplemented\n", type, freq);
+ nvkm_warn(subdev, "%08x/%dKhz unimplemented\n", type, freq);
ret = -EINVAL;
break;
}
static void
nv04_devinit_meminit(struct nvkm_devinit *init)
{
- struct nvkm_device *device = init->subdev.device;
+ struct nvkm_subdev *subdev = &init->subdev;
+ struct nvkm_device *device = subdev->device;
u32 patt = 0xdeadbeef;
struct io_mapping *fb;
int i;
/* Map the framebuffer aperture */
fb = fbmem_init(device);
if (!fb) {
- nv_error(init, "failed to map fb\n");
+ nvkm_error(subdev, "failed to map fb\n");
return;
}
nv04_devinit_init(struct nvkm_object *object)
{
struct nv04_devinit *init = (void *)object;
+ struct nvkm_subdev *subdev = &init->base.subdev;
if (!init->base.post) {
u32 htotal = nv_rdvgac(init, 0, 0x06);
htotal |= (nv_rdvgac(init, 0, 0x25) & 0x01) << 10;
htotal |= (nv_rdvgac(init, 0, 0x41) & 0x01) << 11;
if (!htotal) {
- nv_info(init, "adaptor not initialised\n");
+ nvkm_debug(subdev, "adaptor not initialised\n");
init->base.post = true;
}
}
{ 0x06, 0x00 },
{ 0x00, 0x00 }
};
- struct nvkm_device *device = init->subdev.device;
+ struct nvkm_subdev *subdev = &init->subdev;
+ struct nvkm_device *device = subdev->device;
struct nvkm_bios *bios = device->bios;
struct io_mapping *fb;
u32 patt = 0xdeadbeef;
/* Map the framebuffer aperture */
fb = fbmem_init(device);
if (!fb) {
- nv_error(init, "failed to map fb\n");
+ nvkm_error(subdev, "failed to map fb\n");
return;
}
static void
nv10_devinit_meminit(struct nvkm_devinit *init)
{
- struct nvkm_device *device = init->subdev.device;
+ struct nvkm_subdev *subdev = &init->subdev;
+ struct nvkm_device *device = subdev->device;
static const int mem_width[] = { 0x10, 0x00, 0x20 };
int mem_width_count;
uint32_t patt = 0xdeadbeef;
/* Map the framebuffer aperture */
fb = fbmem_init(device);
if (!fb) {
- nv_error(init, "failed to map fb\n");
+ nvkm_error(subdev, "failed to map fb\n");
return;
}
#include <subdev/bios/init.h>
static void
-nv20_devinit_meminit(struct nvkm_devinit *devinit)
+nv20_devinit_meminit(struct nvkm_devinit *init)
{
- struct nv04_devinit *init = (void *)devinit;
- struct nvkm_device *device = nv_device(init);
+ struct nvkm_subdev *subdev = &init->subdev;
+ struct nvkm_device *device = subdev->device;
uint32_t mask = (device->chipset >= 0x25 ? 0x300 : 0x900);
uint32_t amount, off;
struct io_mapping *fb;
/* Map the framebuffer aperture */
fb = fbmem_init(nv_device(init));
if (!fb) {
- nv_error(init, "failed to map fb\n");
+ nvkm_error(subdev, "failed to map fb\n");
return;
}
ret = nvbios_pll_parse(bios, type, &info);
if (ret) {
- nv_error(subdev, "failed to retrieve pll data, %d\n", ret);
+ nvkm_error(subdev, "failed to retrieve pll data, %d\n", ret);
return ret;
}
ret = nv04_pll_calc(subdev, &info, freq, &N1, &M1, &N2, &M2, &P);
if (!ret) {
- nv_error(subdev, "failed pll calculation\n");
+ nvkm_error(subdev, "failed pll calculation\n");
return ret;
}
int
nv50_devinit_init(struct nvkm_object *object)
{
- struct nvkm_bios *bios = nvkm_bios(object);
- struct nvkm_ibus *ibus = nvkm_ibus(object);
struct nv50_devinit *init = (void *)object;
+ struct nvkm_subdev *subdev = &init->base.subdev;
+ struct nvkm_device *device = subdev->device;
+ struct nvkm_bios *bios = device->bios;
+ struct nvkm_subdev *ibus = device->ibus;
struct nvbios_outp info;
struct dcb_output outp;
u8 ver = 0xff, hdr, cnt, len;
if (!init->base.post) {
if (!nv_rdvgac(init, 0, 0x00) &&
!nv_rdvgac(init, 0, 0x1a)) {
- nv_info(init, "adaptor not initialised\n");
+ nvkm_debug(subdev, "adaptor not initialised\n");
init->base.post = true;
}
}