Argh, I attached the wrong version of the patch. Correct one attached. Alex
On Tue, Dec 8, 2009 at 1:57 PM, Alex Deucher <[email protected]> wrote: > From 37f17525464405806d411b540f1b08f23616b02c Mon Sep 17 00:00:00 2001 > From: Alex Deucher <[email protected]> > Date: Tue, 8 Dec 2009 13:55:33 -0500 > Subject: [PATCH] drm/radeon/kms/r600/r700: fall back to no accel if > ucode loading fails > > Signed-off-by: Alex Deucher <[email protected]> > --- > drivers/gpu/drm/radeon/r600.c | 24 ++++++++++++------------ > drivers/gpu/drm/radeon/rv770.c | 26 +++++++++++++------------- > 2 files changed, 25 insertions(+), 25 deletions(-) > > diff --git a/drivers/gpu/drm/radeon/r600.c b/drivers/gpu/drm/radeon/r600.c > index 1632add..cf5e3b9 100644 > --- a/drivers/gpu/drm/radeon/r600.c > +++ b/drivers/gpu/drm/radeon/r600.c > @@ -2082,6 +2082,14 @@ int r600_startup(struct radeon_device *rdev) > return r; > } > > + if (!rdev->me_fw || !rdev->pfp_fw || !rdev->rlc_fw) { > + r = r600_init_microcode(rdev); > + if (r) { > + DRM_ERROR("Failed to load firmware!\n"); > + return r; > + } > + } > + > /* Enable IRQ */ > r = r600_irq_init(rdev); > if (r) { > @@ -2242,25 +2250,17 @@ int r600_init(struct radeon_device *rdev) > rdev->ih.ring_obj = NULL; > r600_ih_ring_init(rdev, 64 * 1024); > > - if (!rdev->me_fw || !rdev->pfp_fw || !rdev->rlc_fw) { > - r = r600_init_microcode(rdev); > - if (r) { > - DRM_ERROR("Failed to load firmware!\n"); > - return r; > - } > - } > - > r = r600_pcie_gart_init(rdev); > if (r) > return r; > > - rdev->accel_working = true; > r = r600_blit_init(rdev); > if (r) { > - DRM_ERROR("radeon: failled blitter (%d).\n", r); > + DRM_ERROR("radeon: failed blitter (%d).\n", r); > return r; > } > > + rdev->accel_working = true; > r = r600_startup(rdev); > if (r) { > r600_suspend(rdev); > @@ -2272,12 +2272,12 @@ int r600_init(struct radeon_device *rdev) > if (rdev->accel_working) { > r = radeon_ib_pool_init(rdev); > if (r) { > - DRM_ERROR("radeon: failled initializing IB pool > (%d).\n", r); > + DRM_ERROR("radeon: failed initializing IB pool > (%d).\n", r); > rdev->accel_working = false; > } > r = r600_ib_test(rdev); > if (r) { > - DRM_ERROR("radeon: failled testing IB (%d).\n", r); > + DRM_ERROR("radeon: failed testing IB (%d).\n", r); > rdev->accel_working = false; > } > } > diff --git a/drivers/gpu/drm/radeon/rv770.c b/drivers/gpu/drm/radeon/rv770.c > index dd4f020..0090af0 100644 > --- a/drivers/gpu/drm/radeon/rv770.c > +++ b/drivers/gpu/drm/radeon/rv770.c > @@ -895,6 +895,14 @@ static int rv770_startup(struct radeon_device *rdev) > return r; > } > > + if (!rdev->me_fw || !rdev->pfp_fw || !rdev->rlc_fw) { > + r = r600_init_microcode(rdev); > + if (r) { > + DRM_ERROR("Failed to load firmware!\n"); > + return r; > + } > + } > + > /* Enable IRQ */ > r = r600_irq_init(rdev); > if (r) { > @@ -1039,25 +1047,17 @@ int rv770_init(struct radeon_device *rdev) > rdev->ih.ring_obj = NULL; > r600_ih_ring_init(rdev, 64 * 1024); > > - if (!rdev->me_fw || !rdev->pfp_fw || !rdev->rlc_fw) { > - r = r600_init_microcode(rdev); > - if (r) { > - DRM_ERROR("Failed to load firmware!\n"); > - return r; > - } > - } > - > r = r600_pcie_gart_init(rdev); > if (r) > return r; > > - rdev->accel_working = true; > r = r600_blit_init(rdev); > if (r) { > - DRM_ERROR("radeon: failled blitter (%d).\n", r); > - rdev->accel_working = false; > + DRM_ERROR("radeon: failed blitter (%d).\n", r); > + return r; > } > > + rdev->accel_working = true; > r = rv770_startup(rdev); > if (r) { > rv770_suspend(rdev); > @@ -1069,12 +1069,12 @@ int rv770_init(struct radeon_device *rdev) > if (rdev->accel_working) { > r = radeon_ib_pool_init(rdev); > if (r) { > - DRM_ERROR("radeon: failled initializing IB pool > (%d).\n", r); > + DRM_ERROR("radeon: failed initializing IB pool > (%d).\n", r); > rdev->accel_working = false; > } > r = r600_ib_test(rdev); > if (r) { > - DRM_ERROR("radeon: failled testing IB (%d).\n", r); > + DRM_ERROR("radeon: failed testing IB (%d).\n", r); > rdev->accel_working = false; > } > } > -- > 1.5.6.3 >
From 37f17525464405806d411b540f1b08f23616b02c Mon Sep 17 00:00:00 2001 From: Alex Deucher <[email protected]> Date: Tue, 8 Dec 2009 13:55:33 -0500 Subject: [PATCH] drm/radeon/kms/r600/r700: fall back to no accel if ucode loading fails Signed-off-by: Alex Deucher <[email protected]> --- drivers/gpu/drm/radeon/r600.c | 24 ++++++++++++------------ drivers/gpu/drm/radeon/rv770.c | 26 +++++++++++++------------- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/drivers/gpu/drm/radeon/r600.c b/drivers/gpu/drm/radeon/r600.c index 1632add..cf5e3b9 100644 --- a/drivers/gpu/drm/radeon/r600.c +++ b/drivers/gpu/drm/radeon/r600.c @@ -2082,6 +2082,14 @@ int r600_startup(struct radeon_device *rdev) return r; } + if (!rdev->me_fw || !rdev->pfp_fw || !rdev->rlc_fw) { + r = r600_init_microcode(rdev); + if (r) { + DRM_ERROR("Failed to load firmware!\n"); + return r; + } + } + /* Enable IRQ */ r = r600_irq_init(rdev); if (r) { @@ -2242,25 +2250,17 @@ int r600_init(struct radeon_device *rdev) rdev->ih.ring_obj = NULL; r600_ih_ring_init(rdev, 64 * 1024); - if (!rdev->me_fw || !rdev->pfp_fw || !rdev->rlc_fw) { - r = r600_init_microcode(rdev); - if (r) { - DRM_ERROR("Failed to load firmware!\n"); - return r; - } - } - r = r600_pcie_gart_init(rdev); if (r) return r; - rdev->accel_working = true; r = r600_blit_init(rdev); if (r) { - DRM_ERROR("radeon: failled blitter (%d).\n", r); + DRM_ERROR("radeon: failed blitter (%d).\n", r); return r; } + rdev->accel_working = true; r = r600_startup(rdev); if (r) { r600_suspend(rdev); @@ -2272,12 +2272,12 @@ int r600_init(struct radeon_device *rdev) if (rdev->accel_working) { r = radeon_ib_pool_init(rdev); if (r) { - DRM_ERROR("radeon: failled initializing IB pool (%d).\n", r); + DRM_ERROR("radeon: failed initializing IB pool (%d).\n", r); rdev->accel_working = false; } r = r600_ib_test(rdev); if (r) { - DRM_ERROR("radeon: failled testing IB (%d).\n", r); + DRM_ERROR("radeon: failed testing IB (%d).\n", r); rdev->accel_working = false; } } diff --git a/drivers/gpu/drm/radeon/rv770.c b/drivers/gpu/drm/radeon/rv770.c index dd4f020..0090af0 100644 --- a/drivers/gpu/drm/radeon/rv770.c +++ b/drivers/gpu/drm/radeon/rv770.c @@ -895,6 +895,14 @@ static int rv770_startup(struct radeon_device *rdev) return r; } + if (!rdev->me_fw || !rdev->pfp_fw || !rdev->rlc_fw) { + r = r600_init_microcode(rdev); + if (r) { + DRM_ERROR("Failed to load firmware!\n"); + return r; + } + } + /* Enable IRQ */ r = r600_irq_init(rdev); if (r) { @@ -1039,25 +1047,17 @@ int rv770_init(struct radeon_device *rdev) rdev->ih.ring_obj = NULL; r600_ih_ring_init(rdev, 64 * 1024); - if (!rdev->me_fw || !rdev->pfp_fw || !rdev->rlc_fw) { - r = r600_init_microcode(rdev); - if (r) { - DRM_ERROR("Failed to load firmware!\n"); - return r; - } - } - r = r600_pcie_gart_init(rdev); if (r) return r; - rdev->accel_working = true; r = r600_blit_init(rdev); if (r) { - DRM_ERROR("radeon: failled blitter (%d).\n", r); - rdev->accel_working = false; + DRM_ERROR("radeon: failed blitter (%d).\n", r); + return r; } + rdev->accel_working = true; r = rv770_startup(rdev); if (r) { rv770_suspend(rdev); @@ -1069,12 +1069,12 @@ int rv770_init(struct radeon_device *rdev) if (rdev->accel_working) { r = radeon_ib_pool_init(rdev); if (r) { - DRM_ERROR("radeon: failled initializing IB pool (%d).\n", r); + DRM_ERROR("radeon: failed initializing IB pool (%d).\n", r); rdev->accel_working = false; } r = r600_ib_test(rdev); if (r) { - DRM_ERROR("radeon: failled testing IB (%d).\n", r); + DRM_ERROR("radeon: failed testing IB (%d).\n", r); rdev->accel_working = false; } } -- 1.5.6.3
------------------------------------------------------------------------------ Return on Information: Google Enterprise Search pays you back Get the facts. http://p.sf.net/sfu/google-dev2dev
-- _______________________________________________ Dri-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/dri-devel
