[PATCH 1/3] drm/radeon: remove AGP support

2020-10-22 Thread Émeric MASCHINO
> 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

2020-05-13 Thread Roy Spliet

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

2020-05-13 Thread Michel Dänzer
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

2020-05-13 Thread Christian König

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

2020-05-12 Thread 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.

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

2020-05-12 Thread Alex Deucher
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

2020-05-12 Thread Thomas Zimmermann
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

2020-05-12 Thread 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.

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

2020-05-12 Thread Michel Dänzer
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

2020-05-11 Thread Alex Deucher
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

2020-05-11 Thread 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 -
 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