[PATCH 1/3] drm/radeon: remove AGP support
> On Tue, May 12, 2020 at 4:16 AM Michel Dänzer wrote: > > > > On 2020-05-11 10:12 p.m., Alex Deucher wrote: > > > On Mon, May 11, 2020 at 1:17 PM Christian König > > > wrote: > > >> > > >> AGP is deprecated for 10+ years now and not used any more on modern > > >> hardware. > > >> > > >> Old hardware should continue to work in PCI mode. > > > > > > Might want to clarify that there is no loss of functionality here. > > > Something like: > > > > > > "There is no loss of functionality here. GPUs will continue to > > > function. This just drops the use of the AGP MMU in the chipset in > > > favor of the MMU on the device which has proven to be much more > > > reliable. Due to its unreliability, AGP support has been disabled on > > > PowerPC for years already so there is no change on PowerPC." > > > > There's a difference between something being disabled by default or not > > being available at all. We may decide it's worth it anyway, but let's do > > it based on facts. > > > > I didn't mean to imply that AGP GART support was already removed. But > for the vast majority of users the end result is the same. If you > knew enough re-enable AGP GART, you probably wouldn't have been as > confused about what this patch set does either. To reiterate, this > patch set does not remove support for AGP cards, it only removes the > support for AGP GART. The cards will still be functional using the > device GART. There may be performance tradeoffs there in some cases. > > Alex Back in the fglrx days, the fglrxconfig utility proposed: == Advanced OS Settings == External AGPGART module: It is possible (but not recommended) to turn off the usage of built-in agp support of the provided fglrx kernel module and use the external AGP GART module (agpgart.o) of the Linux kernel. If you want to use the external module then ensure that it loads prior to the drivers full startup. In order to manually load the external agpgart module execute this on the commandline (as root): /sbin/insmod agpgart or alternatively configure your system to auto load the module. Do you want to use the external AGP GART module (y/n)? [n] By "built-in agp support of the provided fglrx kernel module", was fglrxconfig referring to the "device GART"? So the device-side IOMMU allowing to "work in PCI mode", somewhat dubbed as "PCI GART" (even for AGP graphics adapters?!??) in some messages here? If so, it is noteworthy that the default choice was not to use the external AGP GART (resulting in Option "UseInternalAGPGART" "yes" in /etc/X11/XF86Config), thus leveraging the device GART, i.e. what Christian proposal is all about. Unless I still mix everything. Émeric ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [Nouveau] [PATCH 1/3] drm/radeon: remove AGP support
Op 12-05-2020 om 14:36 schreef Alex Deucher: On Tue, May 12, 2020 at 4:16 AM Michel Dänzer wrote: On 2020-05-11 10:12 p.m., Alex Deucher wrote: On Mon, May 11, 2020 at 1:17 PM Christian König wrote: AGP is deprecated for 10+ years now and not used any more on modern hardware. Old hardware should continue to work in PCI mode. Might want to clarify that there is no loss of functionality here. Something like: "There is no loss of functionality here. GPUs will continue to function. This just drops the use of the AGP MMU in the chipset in favor of the MMU on the device which has proven to be much more reliable. Due to its unreliability, AGP support has been disabled on PowerPC for years already so there is no change on PowerPC." There's a difference between something being disabled by default or not being available at all. We may decide it's worth it anyway, but let's do it based on facts. I didn't mean to imply that AGP GART support was already removed. But for the vast majority of users the end result is the same. If you knew enough re-enable AGP GART, you probably wouldn't have been as confused about what this patch set does either. To reiterate, this patch set does not remove support for AGP cards, it only removes the support for AGP GART. The cards will still be functional using the device GART. There may be performance tradeoffs there in some cases. I'll volunteer to be the one asking: how big is this performance difference? Have any benchmarks been run before and after removal of AGP GART code on affected nouveau/radeon systems? Or is this code being dropped _just_ because it's cumbersome, with no regard for metrics that determine the value of AGP GART support? Roy Alex ___ Nouveau mailing list nouv...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/nouveau ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [Nouveau] [PATCH 1/3] drm/radeon: remove AGP support
On 2020-05-13 9:46 a.m., Christian König wrote: > Am 12.05.20 um 23:12 schrieb Alex Deucher: >> On Tue, May 12, 2020 at 4:52 PM Roy Spliet wrote: >>> >>> I'll volunteer to be the one asking: how big is this performance >>> difference? Have any benchmarks been run before and after removal of AGP >>> GART code on affected nouveau/radeon systems? Or is this code being >>> dropped _just_ because it's cumbersome, with no regard for metrics that >>> determine the value of AGP GART support? >>> >> I don't think anyone has any solid numbers, just anecdotal from >> memory. I certainly don't have any functional AGP systems at this >> point. It's mostly just cumbersome and would allow us to clean ttm >> and probably improve stability at the same time. At least on the >> radeon side, the only native AGP cards were r1xx, r2xx, and some of >> the early r3xx boards. Once we switched to pcie mid-way through r3xx, >> everything was native pcie and the AGP cards used a pcie to AGP bridge >> chip so they had a decent on chip MMU. Those older cards topped out >> at maybe 32 or 64 MB of vram, so they are going to be hard pressed to >> deal with modern desktops anyway. No idea what sort of GART >> capabilities NV AGP hardware at this time had. > > I could only test with an old x86 Mac and an r3xx generation hw and in > this case making the switch didn't had any noticeable effect at all. > > But I didn't do more than playing around with the desktop effects and > playing a video. Yeah, that's not enough to see a difference. Try an OpenGL game, or even just glxgears. -- Earthling Michel Dänzer | https://redhat.com Libre software enthusiast | Mesa and X developer ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [Nouveau] [PATCH 1/3] drm/radeon: remove AGP support
Am 12.05.20 um 23:12 schrieb Alex Deucher: On Tue, May 12, 2020 at 4:52 PM Roy Spliet wrote: Op 12-05-2020 om 14:36 schreef Alex Deucher: On Tue, May 12, 2020 at 4:16 AM Michel Dänzer wrote: On 2020-05-11 10:12 p.m., Alex Deucher wrote: On Mon, May 11, 2020 at 1:17 PM Christian König wrote: AGP is deprecated for 10+ years now and not used any more on modern hardware. Old hardware should continue to work in PCI mode. Might want to clarify that there is no loss of functionality here. Something like: "There is no loss of functionality here. GPUs will continue to function. This just drops the use of the AGP MMU in the chipset in favor of the MMU on the device which has proven to be much more reliable. Due to its unreliability, AGP support has been disabled on PowerPC for years already so there is no change on PowerPC." There's a difference between something being disabled by default or not being available at all. We may decide it's worth it anyway, but let's do it based on facts. I didn't mean to imply that AGP GART support was already removed. But for the vast majority of users the end result is the same. If you knew enough re-enable AGP GART, you probably wouldn't have been as confused about what this patch set does either. To reiterate, this patch set does not remove support for AGP cards, it only removes the support for AGP GART. The cards will still be functional using the device GART. There may be performance tradeoffs there in some cases. I'll volunteer to be the one asking: how big is this performance difference? Have any benchmarks been run before and after removal of AGP GART code on affected nouveau/radeon systems? Or is this code being dropped _just_ because it's cumbersome, with no regard for metrics that determine the value of AGP GART support? I don't think anyone has any solid numbers, just anecdotal from memory. I certainly don't have any functional AGP systems at this point. It's mostly just cumbersome and would allow us to clean ttm and probably improve stability at the same time. At least on the radeon side, the only native AGP cards were r1xx, r2xx, and some of the early r3xx boards. Once we switched to pcie mid-way through r3xx, everything was native pcie and the AGP cards used a pcie to AGP bridge chip so they had a decent on chip MMU. Those older cards topped out at maybe 32 or 64 MB of vram, so they are going to be hard pressed to deal with modern desktops anyway. No idea what sort of GART capabilities NV AGP hardware at this time had. I could only test with an old x86 Mac and an r3xx generation hw and in this case making the switch didn't had any noticeable effect at all. But I didn't do more than playing around with the desktop effects and playing a video. I do have a PC x86 AGP board lying around somewhere here, going top give that one a try a well. Christian. Alex Roy Alex ___ Nouveau mailing list nouv...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/nouveau ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [Nouveau] [PATCH 1/3] drm/radeon: remove AGP support
On Tue, May 12, 2020 at 4:52 PM Roy Spliet wrote: > > Op 12-05-2020 om 14:36 schreef Alex Deucher: > > On Tue, May 12, 2020 at 4:16 AM Michel Dänzer wrote: > >> > >> On 2020-05-11 10:12 p.m., Alex Deucher wrote: > >>> On Mon, May 11, 2020 at 1:17 PM Christian König > >>> wrote: > > AGP is deprecated for 10+ years now and not used any more on modern > hardware. > > Old hardware should continue to work in PCI mode. > >>> > >>> Might want to clarify that there is no loss of functionality here. > >>> Something like: > >>> > >>> "There is no loss of functionality here. GPUs will continue to > >>> function. This just drops the use of the AGP MMU in the chipset in > >>> favor of the MMU on the device which has proven to be much more > >>> reliable. Due to its unreliability, AGP support has been disabled on > >>> PowerPC for years already so there is no change on PowerPC." > >> > >> There's a difference between something being disabled by default or not > >> being available at all. We may decide it's worth it anyway, but let's do > >> it based on facts. > >> > > > > I didn't mean to imply that AGP GART support was already removed. But > > for the vast majority of users the end result is the same. If you > > knew enough re-enable AGP GART, you probably wouldn't have been as > > confused about what this patch set does either. To reiterate, this > > patch set does not remove support for AGP cards, it only removes the > > support for AGP GART. The cards will still be functional using the > > device GART. There may be performance tradeoffs there in some cases. > > I'll volunteer to be the one asking: how big is this performance > difference? Have any benchmarks been run before and after removal of AGP > GART code on affected nouveau/radeon systems? Or is this code being > dropped _just_ because it's cumbersome, with no regard for metrics that > determine the value of AGP GART support? > I don't think anyone has any solid numbers, just anecdotal from memory. I certainly don't have any functional AGP systems at this point. It's mostly just cumbersome and would allow us to clean ttm and probably improve stability at the same time. At least on the radeon side, the only native AGP cards were r1xx, r2xx, and some of the early r3xx boards. Once we switched to pcie mid-way through r3xx, everything was native pcie and the AGP cards used a pcie to AGP bridge chip so they had a decent on chip MMU. Those older cards topped out at maybe 32 or 64 MB of vram, so they are going to be hard pressed to deal with modern desktops anyway. No idea what sort of GART capabilities NV AGP hardware at this time had. Alex > Roy > > > > > Alex > > ___ > > Nouveau mailing list > > nouv...@lists.freedesktop.org > > https://lists.freedesktop.org/mailman/listinfo/nouveau > > > ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [PATCH 1/3] drm/radeon: remove AGP support
On Tue, May 12, 2020 at 2:20 PM Thomas Zimmermann wrote: > > Hi Christian > > Am 11.05.20 um 19:17 schrieb Christian König: > > AGP is deprecated for 10+ years now and not used any more on modern > > hardware. > > > > Old hardware should continue to work in PCI mode. > > > > Signed-off-by: Christian König > > --- > > drivers/gpu/drm/radeon/Makefile| 4 +- > > drivers/gpu/drm/radeon/evergreen.c | 7 - > > drivers/gpu/drm/radeon/r100.c | 10 +- > > drivers/gpu/drm/radeon/r300.c | 9 - > > drivers/gpu/drm/radeon/r420.c | 9 - > > drivers/gpu/drm/radeon/r520.c | 8 - > > drivers/gpu/drm/radeon/r600.c | 6 - > > drivers/gpu/drm/radeon/radeon.h| 11 - > > drivers/gpu/drm/radeon/radeon_agp.c| 290 - > > drivers/gpu/drm/radeon/radeon_device.c | 23 +- > > drivers/gpu/drm/radeon/radeon_drv.c| 9 - > > In radeon_drv.c, the field drm_device.agp is still being initialized in > radeon_pci_probe() and cleaned up in radeon_driver_unload_kms(). Is this > intentional? > > Best regards > Thomas > > > drivers/gpu/drm/radeon/radeon_ttm.c| 39 > > drivers/gpu/drm/radeon/rv515.c | 9 - > > drivers/gpu/drm/radeon/rv770.c | 7 - > > 14 files changed, 4 insertions(+), 437 deletions(-) > > delete mode 100644 drivers/gpu/drm/radeon/radeon_agp.c > > > > diff --git a/drivers/gpu/drm/radeon/Makefile > > b/drivers/gpu/drm/radeon/Makefile > > index c693b2ca0329..77429cfd303e 100644 > > --- a/drivers/gpu/drm/radeon/Makefile > > +++ b/drivers/gpu/drm/radeon/Makefile > > @@ -61,8 +61,8 @@ radeon-y := radeon_drv.o > > > > # add KMS driver > > radeon-y += radeon_device.o radeon_asic.o radeon_kms.o \ > > - radeon_atombios.o radeon_agp.o atombios_crtc.o radeon_combios.o \ > > - atom.o radeon_fence.o radeon_ttm.o radeon_object.o radeon_gart.o \ > > + radeon_atombios.o atombios_crtc.o radeon_combios.o atom.o \ > > + radeon_fence.o radeon_ttm.o radeon_object.o radeon_gart.o \ > > radeon_legacy_crtc.o radeon_legacy_encoders.o radeon_connectors.o \ > > radeon_encoders.o radeon_display.o radeon_cursor.o radeon_i2c.o \ > > radeon_clocks.o radeon_fb.o radeon_gem.o radeon_ring.o > > radeon_irq_kms.o \ > > diff --git a/drivers/gpu/drm/radeon/evergreen.c > > b/drivers/gpu/drm/radeon/evergreen.c > > index 14d90dc376e7..66b3d9a2c6dd 100644 > > --- a/drivers/gpu/drm/radeon/evergreen.c > > +++ b/drivers/gpu/drm/radeon/evergreen.c > > @@ -5216,12 +5216,6 @@ int evergreen_init(struct radeon_device *rdev) > > r = radeon_fence_driver_init(rdev); > > if (r) > > return r; > > - /* initialize AGP */ > > - if (rdev->flags & RADEON_IS_AGP) { > > - r = radeon_agp_init(rdev); > > - if (r) > > - radeon_agp_disable(rdev); > > - } > > /* initialize memory controller */ > > r = evergreen_mc_init(rdev); > > if (r) > > @@ -5315,7 +5309,6 @@ void evergreen_fini(struct radeon_device *rdev) > > r600_vram_scratch_fini(rdev); > > radeon_gem_fini(rdev); > > radeon_fence_driver_fini(rdev); > > - radeon_agp_fini(rdev); > > radeon_bo_fini(rdev); > > radeon_atombios_fini(rdev); > > kfree(rdev->bios); > > diff --git a/drivers/gpu/drm/radeon/r100.c b/drivers/gpu/drm/radeon/r100.c > > index 24c8db673931..320b1b40a30a 100644 > > --- a/drivers/gpu/drm/radeon/r100.c > > +++ b/drivers/gpu/drm/radeon/r100.c > > @@ -3382,7 +3382,7 @@ void r100_bandwidth_update(struct radeon_device *rdev) > > > > if (rdev->flags & RADEON_IS_AGP) { > > fixed20_12 agpmode_ff; > > - agpmode_ff.full = dfixed_const(radeon_agpmode); > > + agpmode_ff.full = dfixed_const(0); > > temp_ff.full = dfixed_const_666(16); > > sclk_eff_ff.full -= dfixed_mul(agpmode_ff, temp_ff); > > } > > @@ -3992,7 +3992,6 @@ void r100_fini(struct radeon_device *rdev) > > radeon_gem_fini(rdev); > > if (rdev->flags & RADEON_IS_PCI) > > r100_pci_gart_fini(rdev); > > - radeon_agp_fini(rdev); > > radeon_irq_kms_fini(rdev); > > radeon_fence_driver_fini(rdev); > > radeon_bo_fini(rdev); > > @@ -4068,13 +4067,6 @@ int r100_init(struct radeon_device *rdev) > > r100_errata(rdev); > > /* Initialize clocks */ > > radeon_get_clock_info(rdev->ddev); > > - /* initialize AGP */ > > - if (rdev->flags & RADEON_IS_AGP) { > > - r = radeon_agp_init(rdev); > > - if (r) { > > - radeon_agp_disable(rdev); > > - } > > - } > > /* initialize VRAM */ > > r100_mc_init(rdev); > > /* Fence driver */ > > diff --git a/drivers/gpu/drm/radeon/r300.c b/drivers/gpu/drm/radeon/r300.c > > index 3b7ead5be5bf..afd688629cf9 100644 > > --- a/drivers/gpu/drm/radeon/r300.c > > +++ b/drivers/gpu/drm/radeon/r300.c > > @@ -1498,7 +1498,6 @@ voi
Re: [PATCH 1/3] drm/radeon: remove AGP support
Hi Christian Am 11.05.20 um 19:17 schrieb Christian König: > AGP is deprecated for 10+ years now and not used any more on modern hardware. > > Old hardware should continue to work in PCI mode. > > Signed-off-by: Christian König > --- > drivers/gpu/drm/radeon/Makefile| 4 +- > drivers/gpu/drm/radeon/evergreen.c | 7 - > drivers/gpu/drm/radeon/r100.c | 10 +- > drivers/gpu/drm/radeon/r300.c | 9 - > drivers/gpu/drm/radeon/r420.c | 9 - > drivers/gpu/drm/radeon/r520.c | 8 - > drivers/gpu/drm/radeon/r600.c | 6 - > drivers/gpu/drm/radeon/radeon.h| 11 - > drivers/gpu/drm/radeon/radeon_agp.c| 290 - > drivers/gpu/drm/radeon/radeon_device.c | 23 +- > drivers/gpu/drm/radeon/radeon_drv.c| 9 - In radeon_drv.c, the field drm_device.agp is still being initialized in radeon_pci_probe() and cleaned up in radeon_driver_unload_kms(). Is this intentional? Best regards Thomas > drivers/gpu/drm/radeon/radeon_ttm.c| 39 > drivers/gpu/drm/radeon/rv515.c | 9 - > drivers/gpu/drm/radeon/rv770.c | 7 - > 14 files changed, 4 insertions(+), 437 deletions(-) > delete mode 100644 drivers/gpu/drm/radeon/radeon_agp.c > > diff --git a/drivers/gpu/drm/radeon/Makefile b/drivers/gpu/drm/radeon/Makefile > index c693b2ca0329..77429cfd303e 100644 > --- a/drivers/gpu/drm/radeon/Makefile > +++ b/drivers/gpu/drm/radeon/Makefile > @@ -61,8 +61,8 @@ radeon-y := radeon_drv.o > > # add KMS driver > radeon-y += radeon_device.o radeon_asic.o radeon_kms.o \ > - radeon_atombios.o radeon_agp.o atombios_crtc.o radeon_combios.o \ > - atom.o radeon_fence.o radeon_ttm.o radeon_object.o radeon_gart.o \ > + radeon_atombios.o atombios_crtc.o radeon_combios.o atom.o \ > + radeon_fence.o radeon_ttm.o radeon_object.o radeon_gart.o \ > radeon_legacy_crtc.o radeon_legacy_encoders.o radeon_connectors.o \ > radeon_encoders.o radeon_display.o radeon_cursor.o radeon_i2c.o \ > radeon_clocks.o radeon_fb.o radeon_gem.o radeon_ring.o radeon_irq_kms.o > \ > diff --git a/drivers/gpu/drm/radeon/evergreen.c > b/drivers/gpu/drm/radeon/evergreen.c > index 14d90dc376e7..66b3d9a2c6dd 100644 > --- a/drivers/gpu/drm/radeon/evergreen.c > +++ b/drivers/gpu/drm/radeon/evergreen.c > @@ -5216,12 +5216,6 @@ int evergreen_init(struct radeon_device *rdev) > r = radeon_fence_driver_init(rdev); > if (r) > return r; > - /* initialize AGP */ > - if (rdev->flags & RADEON_IS_AGP) { > - r = radeon_agp_init(rdev); > - if (r) > - radeon_agp_disable(rdev); > - } > /* initialize memory controller */ > r = evergreen_mc_init(rdev); > if (r) > @@ -5315,7 +5309,6 @@ void evergreen_fini(struct radeon_device *rdev) > r600_vram_scratch_fini(rdev); > radeon_gem_fini(rdev); > radeon_fence_driver_fini(rdev); > - radeon_agp_fini(rdev); > radeon_bo_fini(rdev); > radeon_atombios_fini(rdev); > kfree(rdev->bios); > diff --git a/drivers/gpu/drm/radeon/r100.c b/drivers/gpu/drm/radeon/r100.c > index 24c8db673931..320b1b40a30a 100644 > --- a/drivers/gpu/drm/radeon/r100.c > +++ b/drivers/gpu/drm/radeon/r100.c > @@ -3382,7 +3382,7 @@ void r100_bandwidth_update(struct radeon_device *rdev) > > if (rdev->flags & RADEON_IS_AGP) { > fixed20_12 agpmode_ff; > - agpmode_ff.full = dfixed_const(radeon_agpmode); > + agpmode_ff.full = dfixed_const(0); > temp_ff.full = dfixed_const_666(16); > sclk_eff_ff.full -= dfixed_mul(agpmode_ff, temp_ff); > } > @@ -3992,7 +3992,6 @@ void r100_fini(struct radeon_device *rdev) > radeon_gem_fini(rdev); > if (rdev->flags & RADEON_IS_PCI) > r100_pci_gart_fini(rdev); > - radeon_agp_fini(rdev); > radeon_irq_kms_fini(rdev); > radeon_fence_driver_fini(rdev); > radeon_bo_fini(rdev); > @@ -4068,13 +4067,6 @@ int r100_init(struct radeon_device *rdev) > r100_errata(rdev); > /* Initialize clocks */ > radeon_get_clock_info(rdev->ddev); > - /* initialize AGP */ > - if (rdev->flags & RADEON_IS_AGP) { > - r = radeon_agp_init(rdev); > - if (r) { > - radeon_agp_disable(rdev); > - } > - } > /* initialize VRAM */ > r100_mc_init(rdev); > /* Fence driver */ > diff --git a/drivers/gpu/drm/radeon/r300.c b/drivers/gpu/drm/radeon/r300.c > index 3b7ead5be5bf..afd688629cf9 100644 > --- a/drivers/gpu/drm/radeon/r300.c > +++ b/drivers/gpu/drm/radeon/r300.c > @@ -1498,7 +1498,6 @@ void r300_fini(struct radeon_device *rdev) > rv370_pcie_gart_fini(rdev); > if (rdev->flags & RADEON_IS_PCI) > r100_pci_gart_fini(rdev); > - radeon_agp_fini(rdev); > radeon_irq_kms_fini(rdev); > radeon_fence_driver_fini(rdev); > radeon_bo_
Re: [PATCH 1/3] drm/radeon: remove AGP support
On Tue, May 12, 2020 at 4:16 AM Michel Dänzer wrote: > > On 2020-05-11 10:12 p.m., Alex Deucher wrote: > > On Mon, May 11, 2020 at 1:17 PM Christian König > > wrote: > >> > >> AGP is deprecated for 10+ years now and not used any more on modern > >> hardware. > >> > >> Old hardware should continue to work in PCI mode. > > > > Might want to clarify that there is no loss of functionality here. > > Something like: > > > > "There is no loss of functionality here. GPUs will continue to > > function. This just drops the use of the AGP MMU in the chipset in > > favor of the MMU on the device which has proven to be much more > > reliable. Due to its unreliability, AGP support has been disabled on > > PowerPC for years already so there is no change on PowerPC." > > There's a difference between something being disabled by default or not > being available at all. We may decide it's worth it anyway, but let's do > it based on facts. > I didn't mean to imply that AGP GART support was already removed. But for the vast majority of users the end result is the same. If you knew enough re-enable AGP GART, you probably wouldn't have been as confused about what this patch set does either. To reiterate, this patch set does not remove support for AGP cards, it only removes the support for AGP GART. The cards will still be functional using the device GART. There may be performance tradeoffs there in some cases. Alex ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [PATCH 1/3] drm/radeon: remove AGP support
On 2020-05-11 10:12 p.m., Alex Deucher wrote: > On Mon, May 11, 2020 at 1:17 PM Christian König > wrote: >> >> AGP is deprecated for 10+ years now and not used any more on modern hardware. >> >> Old hardware should continue to work in PCI mode. > > Might want to clarify that there is no loss of functionality here. > Something like: > > "There is no loss of functionality here. GPUs will continue to > function. This just drops the use of the AGP MMU in the chipset in > favor of the MMU on the device which has proven to be much more > reliable. Due to its unreliability, AGP support has been disabled on > PowerPC for years already so there is no change on PowerPC." There's a difference between something being disabled by default or not being available at all. We may decide it's worth it anyway, but let's do it based on facts. -- Earthling Michel Dänzer | https://redhat.com Libre software enthusiast | Mesa and X developer ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [PATCH 1/3] drm/radeon: remove AGP support
On Mon, May 11, 2020 at 1:17 PM Christian König wrote: > > AGP is deprecated for 10+ years now and not used any more on modern hardware. > > Old hardware should continue to work in PCI mode. Might want to clarify that there is no loss of functionality here. Something like: "There is no loss of functionality here. GPUs will continue to function. This just drops the use of the AGP MMU in the chipset in favor of the MMU on the device which has proven to be much more reliable. Due to its unreliability, AGP support has been disabled on PowerPC for years already so there is no change on PowerPC." With that updated, patches 1, 3: Reviewed-by: Alex Deucher patch 2: Acked-by: Alex Deucher > > Signed-off-by: Christian König > --- > drivers/gpu/drm/radeon/Makefile| 4 +- > drivers/gpu/drm/radeon/evergreen.c | 7 - > drivers/gpu/drm/radeon/r100.c | 10 +- > drivers/gpu/drm/radeon/r300.c | 9 - > drivers/gpu/drm/radeon/r420.c | 9 - > drivers/gpu/drm/radeon/r520.c | 8 - > drivers/gpu/drm/radeon/r600.c | 6 - > drivers/gpu/drm/radeon/radeon.h| 11 - > drivers/gpu/drm/radeon/radeon_agp.c| 290 - > drivers/gpu/drm/radeon/radeon_device.c | 23 +- > drivers/gpu/drm/radeon/radeon_drv.c| 9 - > drivers/gpu/drm/radeon/radeon_ttm.c| 39 > drivers/gpu/drm/radeon/rv515.c | 9 - > drivers/gpu/drm/radeon/rv770.c | 7 - > 14 files changed, 4 insertions(+), 437 deletions(-) > delete mode 100644 drivers/gpu/drm/radeon/radeon_agp.c > > diff --git a/drivers/gpu/drm/radeon/Makefile b/drivers/gpu/drm/radeon/Makefile > index c693b2ca0329..77429cfd303e 100644 > --- a/drivers/gpu/drm/radeon/Makefile > +++ b/drivers/gpu/drm/radeon/Makefile > @@ -61,8 +61,8 @@ radeon-y := radeon_drv.o > > # add KMS driver > radeon-y += radeon_device.o radeon_asic.o radeon_kms.o \ > - radeon_atombios.o radeon_agp.o atombios_crtc.o radeon_combios.o \ > - atom.o radeon_fence.o radeon_ttm.o radeon_object.o radeon_gart.o \ > + radeon_atombios.o atombios_crtc.o radeon_combios.o atom.o \ > + radeon_fence.o radeon_ttm.o radeon_object.o radeon_gart.o \ > radeon_legacy_crtc.o radeon_legacy_encoders.o radeon_connectors.o \ > radeon_encoders.o radeon_display.o radeon_cursor.o radeon_i2c.o \ > radeon_clocks.o radeon_fb.o radeon_gem.o radeon_ring.o > radeon_irq_kms.o \ > diff --git a/drivers/gpu/drm/radeon/evergreen.c > b/drivers/gpu/drm/radeon/evergreen.c > index 14d90dc376e7..66b3d9a2c6dd 100644 > --- a/drivers/gpu/drm/radeon/evergreen.c > +++ b/drivers/gpu/drm/radeon/evergreen.c > @@ -5216,12 +5216,6 @@ int evergreen_init(struct radeon_device *rdev) > r = radeon_fence_driver_init(rdev); > if (r) > return r; > - /* initialize AGP */ > - if (rdev->flags & RADEON_IS_AGP) { > - r = radeon_agp_init(rdev); > - if (r) > - radeon_agp_disable(rdev); > - } > /* initialize memory controller */ > r = evergreen_mc_init(rdev); > if (r) > @@ -5315,7 +5309,6 @@ void evergreen_fini(struct radeon_device *rdev) > r600_vram_scratch_fini(rdev); > radeon_gem_fini(rdev); > radeon_fence_driver_fini(rdev); > - radeon_agp_fini(rdev); > radeon_bo_fini(rdev); > radeon_atombios_fini(rdev); > kfree(rdev->bios); > diff --git a/drivers/gpu/drm/radeon/r100.c b/drivers/gpu/drm/radeon/r100.c > index 24c8db673931..320b1b40a30a 100644 > --- a/drivers/gpu/drm/radeon/r100.c > +++ b/drivers/gpu/drm/radeon/r100.c > @@ -3382,7 +3382,7 @@ void r100_bandwidth_update(struct radeon_device *rdev) > > if (rdev->flags & RADEON_IS_AGP) { > fixed20_12 agpmode_ff; > - agpmode_ff.full = dfixed_const(radeon_agpmode); > + agpmode_ff.full = dfixed_const(0); > temp_ff.full = dfixed_const_666(16); > sclk_eff_ff.full -= dfixed_mul(agpmode_ff, temp_ff); > } > @@ -3992,7 +3992,6 @@ void r100_fini(struct radeon_device *rdev) > radeon_gem_fini(rdev); > if (rdev->flags & RADEON_IS_PCI) > r100_pci_gart_fini(rdev); > - radeon_agp_fini(rdev); > radeon_irq_kms_fini(rdev); > radeon_fence_driver_fini(rdev); > radeon_bo_fini(rdev); > @@ -4068,13 +4067,6 @@ int r100_init(struct radeon_device *rdev) > r100_errata(rdev); > /* Initialize clocks */ > radeon_get_clock_info(rdev->ddev); > - /* initialize AGP */ > - if (rdev->flags & RADEON_IS_AGP) { > - r = radeon_agp_init(rdev); > - if (r) { > - radeon_agp_disable(rdev); > - } > - } > /* initialize VRAM */ > r100_mc_init(rdev); > /* Fence driver */ > diff --git a/drivers/gpu/drm/radeon/r300.c b/drivers/gpu/drm/radeon/r300.c > index 3b7ea
[PATCH 1/3] drm/radeon: remove AGP support
AGP is deprecated for 10+ years now and not used any more on modern hardware. Old hardware should continue to work in PCI mode. Signed-off-by: Christian König --- drivers/gpu/drm/radeon/Makefile| 4 +- drivers/gpu/drm/radeon/evergreen.c | 7 - drivers/gpu/drm/radeon/r100.c | 10 +- drivers/gpu/drm/radeon/r300.c | 9 - drivers/gpu/drm/radeon/r420.c | 9 - drivers/gpu/drm/radeon/r520.c | 8 - drivers/gpu/drm/radeon/r600.c | 6 - drivers/gpu/drm/radeon/radeon.h| 11 - drivers/gpu/drm/radeon/radeon_agp.c| 290 - drivers/gpu/drm/radeon/radeon_device.c | 23 +- drivers/gpu/drm/radeon/radeon_drv.c| 9 - drivers/gpu/drm/radeon/radeon_ttm.c| 39 drivers/gpu/drm/radeon/rv515.c | 9 - drivers/gpu/drm/radeon/rv770.c | 7 - 14 files changed, 4 insertions(+), 437 deletions(-) delete mode 100644 drivers/gpu/drm/radeon/radeon_agp.c diff --git a/drivers/gpu/drm/radeon/Makefile b/drivers/gpu/drm/radeon/Makefile index c693b2ca0329..77429cfd303e 100644 --- a/drivers/gpu/drm/radeon/Makefile +++ b/drivers/gpu/drm/radeon/Makefile @@ -61,8 +61,8 @@ radeon-y := radeon_drv.o # add KMS driver radeon-y += radeon_device.o radeon_asic.o radeon_kms.o \ - radeon_atombios.o radeon_agp.o atombios_crtc.o radeon_combios.o \ - atom.o radeon_fence.o radeon_ttm.o radeon_object.o radeon_gart.o \ + radeon_atombios.o atombios_crtc.o radeon_combios.o atom.o \ + radeon_fence.o radeon_ttm.o radeon_object.o radeon_gart.o \ radeon_legacy_crtc.o radeon_legacy_encoders.o radeon_connectors.o \ radeon_encoders.o radeon_display.o radeon_cursor.o radeon_i2c.o \ radeon_clocks.o radeon_fb.o radeon_gem.o radeon_ring.o radeon_irq_kms.o \ diff --git a/drivers/gpu/drm/radeon/evergreen.c b/drivers/gpu/drm/radeon/evergreen.c index 14d90dc376e7..66b3d9a2c6dd 100644 --- a/drivers/gpu/drm/radeon/evergreen.c +++ b/drivers/gpu/drm/radeon/evergreen.c @@ -5216,12 +5216,6 @@ int evergreen_init(struct radeon_device *rdev) r = radeon_fence_driver_init(rdev); if (r) return r; - /* initialize AGP */ - if (rdev->flags & RADEON_IS_AGP) { - r = radeon_agp_init(rdev); - if (r) - radeon_agp_disable(rdev); - } /* initialize memory controller */ r = evergreen_mc_init(rdev); if (r) @@ -5315,7 +5309,6 @@ void evergreen_fini(struct radeon_device *rdev) r600_vram_scratch_fini(rdev); radeon_gem_fini(rdev); radeon_fence_driver_fini(rdev); - radeon_agp_fini(rdev); radeon_bo_fini(rdev); radeon_atombios_fini(rdev); kfree(rdev->bios); diff --git a/drivers/gpu/drm/radeon/r100.c b/drivers/gpu/drm/radeon/r100.c index 24c8db673931..320b1b40a30a 100644 --- a/drivers/gpu/drm/radeon/r100.c +++ b/drivers/gpu/drm/radeon/r100.c @@ -3382,7 +3382,7 @@ void r100_bandwidth_update(struct radeon_device *rdev) if (rdev->flags & RADEON_IS_AGP) { fixed20_12 agpmode_ff; - agpmode_ff.full = dfixed_const(radeon_agpmode); + agpmode_ff.full = dfixed_const(0); temp_ff.full = dfixed_const_666(16); sclk_eff_ff.full -= dfixed_mul(agpmode_ff, temp_ff); } @@ -3992,7 +3992,6 @@ void r100_fini(struct radeon_device *rdev) radeon_gem_fini(rdev); if (rdev->flags & RADEON_IS_PCI) r100_pci_gart_fini(rdev); - radeon_agp_fini(rdev); radeon_irq_kms_fini(rdev); radeon_fence_driver_fini(rdev); radeon_bo_fini(rdev); @@ -4068,13 +4067,6 @@ int r100_init(struct radeon_device *rdev) r100_errata(rdev); /* Initialize clocks */ radeon_get_clock_info(rdev->ddev); - /* initialize AGP */ - if (rdev->flags & RADEON_IS_AGP) { - r = radeon_agp_init(rdev); - if (r) { - radeon_agp_disable(rdev); - } - } /* initialize VRAM */ r100_mc_init(rdev); /* Fence driver */ diff --git a/drivers/gpu/drm/radeon/r300.c b/drivers/gpu/drm/radeon/r300.c index 3b7ead5be5bf..afd688629cf9 100644 --- a/drivers/gpu/drm/radeon/r300.c +++ b/drivers/gpu/drm/radeon/r300.c @@ -1498,7 +1498,6 @@ void r300_fini(struct radeon_device *rdev) rv370_pcie_gart_fini(rdev); if (rdev->flags & RADEON_IS_PCI) r100_pci_gart_fini(rdev); - radeon_agp_fini(rdev); radeon_irq_kms_fini(rdev); radeon_fence_driver_fini(rdev); radeon_bo_fini(rdev); @@ -1547,13 +1546,6 @@ int r300_init(struct radeon_device *rdev) r300_errata(rdev); /* Initialize clocks */ radeon_get_clock_info(rdev->ddev); - /* initialize AGP */ - if (rdev->flags & RADEON_IS_AGP) { - r = radeon_agp_init(rdev); - if (r) { - ra