Skip to content

Commit

Permalink
Merge branch 'drm-nouveau-fixes' of git://anongit.freedesktop.org/git…
Browse files Browse the repository at this point in the history
…/nouveau/linux-2.6 into drm-next

Just misc nouveau fixes all over the place.

* 'drm-nouveau-fixes' of git://anongit.freedesktop.org/git/nouveau/linux-2.6:
  drm/nouveau/timer: bump ptimer's alarm delay from u32 to u64
  drm/nouveau/fan: fix a typo in PWM's input clock calculation
  drm/nv50/clk: wire up pll_calc hook
  drm/nouveau: remove unused _nouveau_parent_ctor
  drm/nouveau/bios: fix shadowing of ACPI ROMs larger than 64KiB
  • Loading branch information
Dave Airlie committed Oct 9, 2012
2 parents 1f31c69 + 11573aa commit ceb736c
Show file tree
Hide file tree
Showing 7 changed files with 14 additions and 34 deletions.
17 changes: 0 additions & 17 deletions drivers/gpu/drm/nouveau/core/core/parent.c
Original file line number Diff line number Diff line change
Expand Up @@ -101,23 +101,6 @@ nouveau_parent_create_(struct nouveau_object *parent,
return 0;
}

int
_nouveau_parent_ctor(struct nouveau_object *parent,
struct nouveau_object *engine,
struct nouveau_oclass *oclass, void *data, u32 size,
struct nouveau_object **pobject)
{
struct nouveau_parent *object;
int ret;

ret = nouveau_parent_create(parent, engine, oclass, 0, NULL, 0, &object);
*pobject = nv_object(object);
if (ret)
return ret;

return 0;
}

void
nouveau_parent_destroy(struct nouveau_parent *parent)
{
Expand Down
3 changes: 0 additions & 3 deletions drivers/gpu/drm/nouveau/core/include/core/parent.h
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,6 @@ int nouveau_parent_create_(struct nouveau_object *, struct nouveau_object *,
int size, void **);
void nouveau_parent_destroy(struct nouveau_parent *);

int _nouveau_parent_ctor(struct nouveau_object *, struct nouveau_object *,
struct nouveau_oclass *, void *, u32,
struct nouveau_object **);
void _nouveau_parent_dtor(struct nouveau_object *);
#define _nouveau_parent_init _nouveau_object_init
#define _nouveau_parent_fini _nouveau_object_fini
Expand Down
2 changes: 1 addition & 1 deletion drivers/gpu/drm/nouveau/core/include/subdev/timer.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ void nouveau_timer_alarm(void *, u32 nsec, struct nouveau_alarm *);
struct nouveau_timer {
struct nouveau_subdev base;
u64 (*read)(struct nouveau_timer *);
void (*alarm)(struct nouveau_timer *, u32 time, struct nouveau_alarm *);
void (*alarm)(struct nouveau_timer *, u64 time, struct nouveau_alarm *);
};

static inline struct nouveau_timer *
Expand Down
21 changes: 10 additions & 11 deletions drivers/gpu/drm/nouveau/core/subdev/bios/base.c
Original file line number Diff line number Diff line change
Expand Up @@ -185,23 +185,22 @@ static void
nouveau_bios_shadow_acpi(struct nouveau_bios *bios)
{
struct pci_dev *pdev = nv_device(bios)->pdev;
int cnt = 65536 / 4096;
int ret;
int ret, cnt, i;
u8 data[3];

if (!nouveau_acpi_rom_supported(pdev))
return;

bios->data = kmalloc(65536, GFP_KERNEL);
bios->size = 0;
if (!bios->data)
return;

while (cnt--) {
ret = nouveau_acpi_get_bios_chunk(bios->data, bios->size, 4096);
if (ret != 4096)
return;
if (nouveau_acpi_get_bios_chunk(data, 0, 3) == 3)
bios->size = data[2] * 512;

bios->size += 4096;
bios->data = kmalloc(bios->size, GFP_KERNEL);
for (i = 0; bios->data && i < bios->size; i += cnt) {
cnt = min((bios->size - i), (u32)4096);
ret = nouveau_acpi_get_bios_chunk(bios->data, i, cnt);
if (ret != cnt)
break;
}
}

Expand Down
1 change: 1 addition & 0 deletions drivers/gpu/drm/nouveau/core/subdev/clock/nv50.c
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ nv50_clock_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
return ret;

priv->base.pll_set = nv50_clock_pll_set;
priv->base.pll_calc = nv04_clock_pll_calc;
return 0;
}

Expand Down
2 changes: 1 addition & 1 deletion drivers/gpu/drm/nouveau/core/subdev/therm/nv50.c
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ nv50_fan_pwm_clock(struct nouveau_therm *therm)
if (nv_rd32(therm, 0xc040) & 0x800000) {
/* Use the HOST clock (100 MHz)
* Where does this constant(2.4) comes from? */
pwm_clock = (100000000 >> pwm_div) / 10 / 24;
pwm_clock = (100000000 >> pwm_div) * 10 / 24;
} else {
/* Where does this constant(20) comes from? */
pwm_clock = (crystal * 1000) >> pwm_div;
Expand Down
2 changes: 1 addition & 1 deletion drivers/gpu/drm/nouveau/core/subdev/timer/nv04.c
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ nv04_timer_alarm_trigger(struct nouveau_timer *ptimer)
}

static void
nv04_timer_alarm(struct nouveau_timer *ptimer, u32 time,
nv04_timer_alarm(struct nouveau_timer *ptimer, u64 time,
struct nouveau_alarm *alarm)
{
struct nv04_timer_priv *priv = (void *)ptimer;
Expand Down

0 comments on commit ceb736c

Please sign in to comment.