Re: [PATCH 00/17] drm/mgag200: Convert to atomic modesetting

2020-05-06 Thread Thomas Zimmermann


Am 05.05.20 um 14:20 schrieb John Donnelly:
> 
> 
>> On May 4, 2020, at 8:39 AM, Thomas Zimmermann  wrote:
>>
>> Hi John
>>
>> Am 30.04.20 um 02:11 schrieb John Donnelly:
>>> On 4/29/20 9:32 AM, Thomas Zimmermann wrote:
 This patchset converts mgag200 to atomic modesetting. It uses simple
 KMS helpers and SHMEM.

 Patches 1 to 4 simplifies the driver before the conversion. For example,
 the HW cursor is not usable with the way universal planes work. A few
 data structures can be cleaned up.

 Patches 5 to 15 untangle the existing modesetting code into smaller
 functions. Specifically, mode setting and plane updates are being
 separated from each other.

 Patch 16 converts mgag200 to simple KMS helpers and enables atomic
 mode setting.

 As some HW seems to require a framebuffer offset of 0 within the video
 memory, it does not work with atomic modesetting. Atomically switching
 plane framebuffers, requires either source or target buffer to be located
 at a non-0 offet. To resolve this problem, patch 17 converts mgag200 from
 VRAM helpers to SHMEM helpers. During plane updates, the content of the
 SHMEM BO is memcpy'd to VRAM. From my subjective obersation, performance
 is not nuch different from the original code.

 The patchset has been tested on MGA G200EH hardware.

 Thomas Zimmermann (17):
drm/mgag200: Remove HW cursor
drm/mgag200: Remove unused fields from struct mga_device
drm/mgag200: Embed connector instance in struct mga_device
drm/mgag200: Use managed mode-config initialization
drm/mgag200: Clean up mga_set_start_address()
drm/mgag200: Clean up mga_crtc_do_set_base()
drm/mgag200: Move mode-setting code into separate helper function
drm/mgag200: Split MISC register update into PLL selection, SYNC and
  I/O
drm/mgag200: Update mode registers after plane registers
drm/mgag200: Set pitch in a separate helper function
drm/mgag200: Set primary plane's format in separate helper function
drm/mgag200: Move TAGFIFO reset into separate function
drm/mgag200: Move hiprilvl setting into separate functions
drm/mgag200: Move register initialization into separate function
drm/mgag200: Remove waiting from DPMS code
drm/mgag200: Convert to simple KMS helper
drm/mgag200: Replace VRAM helpers with SHMEM helpers

   drivers/gpu/drm/mgag200/Kconfig  |   4 +-
   drivers/gpu/drm/mgag200/Makefile |   2 +-
   drivers/gpu/drm/mgag200/mgag200_cursor.c | 319 
   drivers/gpu/drm/mgag200/mgag200_drv.c|  51 +-
   drivers/gpu/drm/mgag200/mgag200_drv.h|  43 +-
   drivers/gpu/drm/mgag200/mgag200_main.c   |  28 -
   drivers/gpu/drm/mgag200/mgag200_mode.c   | 948 ---
   drivers/gpu/drm/mgag200/mgag200_reg.h|   5 +-
   drivers/gpu/drm/mgag200/mgag200_ttm.c|  35 +-
   9 files changed, 563 insertions(+), 872 deletions(-)
   delete mode 100644 drivers/gpu/drm/mgag200/mgag200_cursor.c

 -- 
 2.26.0

>>>
>>>
>>>  Hi Thomas ,
>>>
>>>  I would like to test this on hardware that uses this device integrated
>>> into as BMC  ( iLo ) that I have ran into problems before. Can you post
>>> your staging URL so I can clone it ?
>>
>> I uploaded the patches at
>>
>>
>> https://gitlab.freedesktop.org/tzimmermann/linux/-/tree/mgag200-simplekms-20200504
>>
>> You can clone them with
>>
>>  git clone g...@gitlab.freedesktop.org:tzimmermann/linux.git
>>
>> and checkout the mgag200-simplekms-20200405 branch afterwards.
>>
>> Best regards
>> Thomas
>>
>>>
>>>
>>> ( Thank you for CC'ing me. I removed my email from on dlist recently) .
>>>
>>>
>>>
> 
>  I had no issues running  these changes with gnome on a server with a 
> mgag200 integrated into a BMC .
> 
> Tested-by:  John Donnelly 

Thanks! I'll add the tag to the patchset.

Best regards
Thomas

> 
> ___
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
> 

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörffer



signature.asc
Description: OpenPGP digital signature
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH 00/17] drm/mgag200: Convert to atomic modesetting

2020-05-06 Thread John Donnelly



> On May 4, 2020, at 8:39 AM, Thomas Zimmermann  wrote:
> 
> Hi John
> 
> Am 30.04.20 um 02:11 schrieb John Donnelly:
>> On 4/29/20 9:32 AM, Thomas Zimmermann wrote:
>>> This patchset converts mgag200 to atomic modesetting. It uses simple
>>> KMS helpers and SHMEM.
>>> 
>>> Patches 1 to 4 simplifies the driver before the conversion. For example,
>>> the HW cursor is not usable with the way universal planes work. A few
>>> data structures can be cleaned up.
>>> 
>>> Patches 5 to 15 untangle the existing modesetting code into smaller
>>> functions. Specifically, mode setting and plane updates are being
>>> separated from each other.
>>> 
>>> Patch 16 converts mgag200 to simple KMS helpers and enables atomic
>>> mode setting.
>>> 
>>> As some HW seems to require a framebuffer offset of 0 within the video
>>> memory, it does not work with atomic modesetting. Atomically switching
>>> plane framebuffers, requires either source or target buffer to be located
>>> at a non-0 offet. To resolve this problem, patch 17 converts mgag200 from
>>> VRAM helpers to SHMEM helpers. During plane updates, the content of the
>>> SHMEM BO is memcpy'd to VRAM. From my subjective obersation, performance
>>> is not nuch different from the original code.
>>> 
>>> The patchset has been tested on MGA G200EH hardware.
>>> 
>>> Thomas Zimmermann (17):
>>>drm/mgag200: Remove HW cursor
>>>drm/mgag200: Remove unused fields from struct mga_device
>>>drm/mgag200: Embed connector instance in struct mga_device
>>>drm/mgag200: Use managed mode-config initialization
>>>drm/mgag200: Clean up mga_set_start_address()
>>>drm/mgag200: Clean up mga_crtc_do_set_base()
>>>drm/mgag200: Move mode-setting code into separate helper function
>>>drm/mgag200: Split MISC register update into PLL selection, SYNC and
>>>  I/O
>>>drm/mgag200: Update mode registers after plane registers
>>>drm/mgag200: Set pitch in a separate helper function
>>>drm/mgag200: Set primary plane's format in separate helper function
>>>drm/mgag200: Move TAGFIFO reset into separate function
>>>drm/mgag200: Move hiprilvl setting into separate functions
>>>drm/mgag200: Move register initialization into separate function
>>>drm/mgag200: Remove waiting from DPMS code
>>>drm/mgag200: Convert to simple KMS helper
>>>drm/mgag200: Replace VRAM helpers with SHMEM helpers
>>> 
>>>   drivers/gpu/drm/mgag200/Kconfig  |   4 +-
>>>   drivers/gpu/drm/mgag200/Makefile |   2 +-
>>>   drivers/gpu/drm/mgag200/mgag200_cursor.c | 319 
>>>   drivers/gpu/drm/mgag200/mgag200_drv.c|  51 +-
>>>   drivers/gpu/drm/mgag200/mgag200_drv.h|  43 +-
>>>   drivers/gpu/drm/mgag200/mgag200_main.c   |  28 -
>>>   drivers/gpu/drm/mgag200/mgag200_mode.c   | 948 ---
>>>   drivers/gpu/drm/mgag200/mgag200_reg.h|   5 +-
>>>   drivers/gpu/drm/mgag200/mgag200_ttm.c|  35 +-
>>>   9 files changed, 563 insertions(+), 872 deletions(-)
>>>   delete mode 100644 drivers/gpu/drm/mgag200/mgag200_cursor.c
>>> 
>>> -- 
>>> 2.26.0
>>> 
>> 
>> 
>>  Hi Thomas ,
>> 
>>  I would like to test this on hardware that uses this device integrated
>> into as BMC  ( iLo ) that I have ran into problems before. Can you post
>> your staging URL so I can clone it ?
> 
> I uploaded the patches at
> 
> 
> https://gitlab.freedesktop.org/tzimmermann/linux/-/tree/mgag200-simplekms-20200504
> 
> You can clone them with
> 
>  git clone g...@gitlab.freedesktop.org:tzimmermann/linux.git
> 
> and checkout the mgag200-simplekms-20200405 branch afterwards.
> 
> Best regards
> Thomas
> 
>> 
>> 
>> ( Thank you for CC'ing me. I removed my email from on dlist recently) .
>> 
>> 
>> 

 I had no issues running  these changes with gnome on a server with a 
mgag200 integrated into a BMC .

Tested-by:  John Donnelly 

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH 00/17] drm/mgag200: Convert to atomic modesetting

2020-05-04 Thread John Donnelly



> On May 4, 2020, at 8:39 AM, Thomas Zimmermann  wrote:
> 
> Hi John
> 
> Am 30.04.20 um 02:11 schrieb John Donnelly:
>> On 4/29/20 9:32 AM, Thomas Zimmermann wrote:
>>> This patchset converts mgag200 to atomic modesetting. It uses simple
>>> KMS helpers and SHMEM.
>>> 
>>> Patches 1 to 4 simplifies the driver before the conversion. For example,
>>> the HW cursor is not usable with the way universal planes work. A few
>>> data structures can be cleaned up.
>>> 
>>> Patches 5 to 15 untangle the existing modesetting code into smaller
>>> functions. Specifically, mode setting and plane updates are being
>>> separated from each other.
>>> 
>>> Patch 16 converts mgag200 to simple KMS helpers and enables atomic
>>> mode setting.
>>> 
>>> As some HW seems to require a framebuffer offset of 0 within the video
>>> memory, it does not work with atomic modesetting. Atomically switching
>>> plane framebuffers, requires either source or target buffer to be located
>>> at a non-0 offet. To resolve this problem, patch 17 converts mgag200 from
>>> VRAM helpers to SHMEM helpers. During plane updates, the content of the
>>> SHMEM BO is memcpy'd to VRAM. From my subjective obersation, performance
>>> is not nuch different from the original code.
>>> 
>>> The patchset has been tested on MGA G200EH hardware.
>>> 
>>> Thomas Zimmermann (17):
>>>drm/mgag200: Remove HW cursor
>>>drm/mgag200: Remove unused fields from struct mga_device
>>>drm/mgag200: Embed connector instance in struct mga_device
>>>drm/mgag200: Use managed mode-config initialization
>>>drm/mgag200: Clean up mga_set_start_address()
>>>drm/mgag200: Clean up mga_crtc_do_set_base()
>>>drm/mgag200: Move mode-setting code into separate helper function
>>>drm/mgag200: Split MISC register update into PLL selection, SYNC and
>>>  I/O
>>>drm/mgag200: Update mode registers after plane registers
>>>drm/mgag200: Set pitch in a separate helper function
>>>drm/mgag200: Set primary plane's format in separate helper function
>>>drm/mgag200: Move TAGFIFO reset into separate function
>>>drm/mgag200: Move hiprilvl setting into separate functions
>>>drm/mgag200: Move register initialization into separate function
>>>drm/mgag200: Remove waiting from DPMS code
>>>drm/mgag200: Convert to simple KMS helper
>>>drm/mgag200: Replace VRAM helpers with SHMEM helpers
>>> 
>>>   drivers/gpu/drm/mgag200/Kconfig  |   4 +-
>>>   drivers/gpu/drm/mgag200/Makefile |   2 +-
>>>   drivers/gpu/drm/mgag200/mgag200_cursor.c | 319 
>>>   drivers/gpu/drm/mgag200/mgag200_drv.c|  51 +-
>>>   drivers/gpu/drm/mgag200/mgag200_drv.h|  43 +-
>>>   drivers/gpu/drm/mgag200/mgag200_main.c   |  28 -
>>>   drivers/gpu/drm/mgag200/mgag200_mode.c   | 948 ---
>>>   drivers/gpu/drm/mgag200/mgag200_reg.h|   5 +-
>>>   drivers/gpu/drm/mgag200/mgag200_ttm.c|  35 +-
>>>   9 files changed, 563 insertions(+), 872 deletions(-)
>>>   delete mode 100644 drivers/gpu/drm/mgag200/mgag200_cursor.c
>>> 
>>> -- 
>>> 2.26.0
>>> 
>> 
>> 
>>  Hi Thomas ,
>> 
>>  I would like to test this on hardware that uses this device integrated
>> into as BMC  ( iLo ) that I have ran into problems before. Can you post
>> your staging URL so I can clone it ?
> 
> I uploaded the patches at
> 
> 
> https://gitlab.freedesktop.org/tzimmermann/linux/-/tree/mgag200-simplekms-20200504
> 
> You can clone them with
> 
>  git clone g...@gitlab.freedesktop.org:tzimmermann/linux.git
> 
> and checkout the mgag200-simplekms-20200405 branch afterwards.
> 
> Best regards
> Thomas



 Got it . Thank you . 


___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH 00/17] drm/mgag200: Convert to atomic modesetting

2020-05-04 Thread Thomas Zimmermann
Hi John

Am 30.04.20 um 02:11 schrieb John Donnelly:
> On 4/29/20 9:32 AM, Thomas Zimmermann wrote:
>> This patchset converts mgag200 to atomic modesetting. It uses simple
>> KMS helpers and SHMEM.
>>
>> Patches 1 to 4 simplifies the driver before the conversion. For example,
>> the HW cursor is not usable with the way universal planes work. A few
>> data structures can be cleaned up.
>>
>> Patches 5 to 15 untangle the existing modesetting code into smaller
>> functions. Specifically, mode setting and plane updates are being
>> separated from each other.
>>
>> Patch 16 converts mgag200 to simple KMS helpers and enables atomic
>> mode setting.
>>
>> As some HW seems to require a framebuffer offset of 0 within the video
>> memory, it does not work with atomic modesetting. Atomically switching
>> plane framebuffers, requires either source or target buffer to be located
>> at a non-0 offet. To resolve this problem, patch 17 converts mgag200 from
>> VRAM helpers to SHMEM helpers. During plane updates, the content of the
>> SHMEM BO is memcpy'd to VRAM. From my subjective obersation, performance
>> is not nuch different from the original code.
>>
>> The patchset has been tested on MGA G200EH hardware.
>>
>> Thomas Zimmermann (17):
>>    drm/mgag200: Remove HW cursor
>>    drm/mgag200: Remove unused fields from struct mga_device
>>    drm/mgag200: Embed connector instance in struct mga_device
>>    drm/mgag200: Use managed mode-config initialization
>>    drm/mgag200: Clean up mga_set_start_address()
>>    drm/mgag200: Clean up mga_crtc_do_set_base()
>>    drm/mgag200: Move mode-setting code into separate helper function
>>    drm/mgag200: Split MISC register update into PLL selection, SYNC and
>>  I/O
>>    drm/mgag200: Update mode registers after plane registers
>>    drm/mgag200: Set pitch in a separate helper function
>>    drm/mgag200: Set primary plane's format in separate helper function
>>    drm/mgag200: Move TAGFIFO reset into separate function
>>    drm/mgag200: Move hiprilvl setting into separate functions
>>    drm/mgag200: Move register initialization into separate function
>>    drm/mgag200: Remove waiting from DPMS code
>>    drm/mgag200: Convert to simple KMS helper
>>    drm/mgag200: Replace VRAM helpers with SHMEM helpers
>>
>>   drivers/gpu/drm/mgag200/Kconfig  |   4 +-
>>   drivers/gpu/drm/mgag200/Makefile |   2 +-
>>   drivers/gpu/drm/mgag200/mgag200_cursor.c | 319 
>>   drivers/gpu/drm/mgag200/mgag200_drv.c    |  51 +-
>>   drivers/gpu/drm/mgag200/mgag200_drv.h    |  43 +-
>>   drivers/gpu/drm/mgag200/mgag200_main.c   |  28 -
>>   drivers/gpu/drm/mgag200/mgag200_mode.c   | 948 ---
>>   drivers/gpu/drm/mgag200/mgag200_reg.h    |   5 +-
>>   drivers/gpu/drm/mgag200/mgag200_ttm.c    |  35 +-
>>   9 files changed, 563 insertions(+), 872 deletions(-)
>>   delete mode 100644 drivers/gpu/drm/mgag200/mgag200_cursor.c
>>
>> -- 
>> 2.26.0
>>
> 
> 
>  Hi Thomas ,
> 
>  I would like to test this on hardware that uses this device integrated
> into as BMC  ( iLo ) that I have ran into problems before. Can you post
> your staging URL so I can clone it ?

I uploaded the patches at


https://gitlab.freedesktop.org/tzimmermann/linux/-/tree/mgag200-simplekms-20200504

You can clone them with

  git clone g...@gitlab.freedesktop.org:tzimmermann/linux.git

and checkout the mgag200-simplekms-20200405 branch afterwards.

Best regards
Thomas

> 
> 
> ( Thank you for CC'ing me. I removed my email from on dlist recently) .
> 
> 
> 
> 

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörffer



signature.asc
Description: OpenPGP digital signature
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH 00/17] drm/mgag200: Convert to atomic modesetting

2020-05-01 Thread John Donnelly

On 4/30/20 3:29 AM, Thomas Zimmermann wrote:

Hi John

Am 30.04.20 um 02:11 schrieb John Donnelly:

On 4/29/20 9:32 AM, Thomas Zimmermann wrote:

This patchset converts mgag200 to atomic modesetting. It uses simple
KMS helpers and SHMEM.

Patches 1 to 4 simplifies the driver before the conversion. For example,
the HW cursor is not usable with the way universal planes work. A few
data structures can be cleaned up.

Patches 5 to 15 untangle the existing modesetting code into smaller
functions. Specifically, mode setting and plane updates are being
separated from each other.

Patch 16 converts mgag200 to simple KMS helpers and enables atomic
mode setting.

As some HW seems to require a framebuffer offset of 0 within the video
memory, it does not work with atomic modesetting. Atomically switching
plane framebuffers, requires either source or target buffer to be located
at a non-0 offet. To resolve this problem, patch 17 converts mgag200 from
VRAM helpers to SHMEM helpers. During plane updates, the content of the
SHMEM BO is memcpy'd to VRAM. From my subjective obersation, performance
is not nuch different from the original code.

The patchset has been tested on MGA G200EH hardware.

Thomas Zimmermann (17):
    drm/mgag200: Remove HW cursor
    drm/mgag200: Remove unused fields from struct mga_device
    drm/mgag200: Embed connector instance in struct mga_device
    drm/mgag200: Use managed mode-config initialization
    drm/mgag200: Clean up mga_set_start_address()
    drm/mgag200: Clean up mga_crtc_do_set_base()
    drm/mgag200: Move mode-setting code into separate helper function
    drm/mgag200: Split MISC register update into PLL selection, SYNC and
  I/O
    drm/mgag200: Update mode registers after plane registers
    drm/mgag200: Set pitch in a separate helper function
    drm/mgag200: Set primary plane's format in separate helper function
    drm/mgag200: Move TAGFIFO reset into separate function
    drm/mgag200: Move hiprilvl setting into separate functions
    drm/mgag200: Move register initialization into separate function
    drm/mgag200: Remove waiting from DPMS code
    drm/mgag200: Convert to simple KMS helper
    drm/mgag200: Replace VRAM helpers with SHMEM helpers

   drivers/gpu/drm/mgag200/Kconfig  |   4 +-
   drivers/gpu/drm/mgag200/Makefile |   2 +-
   drivers/gpu/drm/mgag200/mgag200_cursor.c | 319 
   drivers/gpu/drm/mgag200/mgag200_drv.c    |  51 +-
   drivers/gpu/drm/mgag200/mgag200_drv.h    |  43 +-
   drivers/gpu/drm/mgag200/mgag200_main.c   |  28 -
   drivers/gpu/drm/mgag200/mgag200_mode.c   | 948 ---
   drivers/gpu/drm/mgag200/mgag200_reg.h    |   5 +-
   drivers/gpu/drm/mgag200/mgag200_ttm.c    |  35 +-
   9 files changed, 563 insertions(+), 872 deletions(-)
   delete mode 100644 drivers/gpu/drm/mgag200/mgag200_cursor.c

--
2.26.0




  Hi Thomas ,

  I would like to test this on hardware that uses this device integrated
into as BMC  ( iLo ) that I have ran into problems before. Can you post
your staging URL so I can clone it ?


Sure, I'll set something up for you. But it could take until next week.
I promise not to merge the patches before you had a chance to test them.

Best regards
Thomas


 Hi

   I may try to apply these patches locally .. It won't be until next 
week though .






( Thank you for CC'ing me. I removed my email from on dlist recently) .









--
Thank You,
John
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH 00/17] drm/mgag200: Convert to atomic modesetting

2020-04-30 Thread Thomas Zimmermann
Hi John

Am 30.04.20 um 02:11 schrieb John Donnelly:
> On 4/29/20 9:32 AM, Thomas Zimmermann wrote:
>> This patchset converts mgag200 to atomic modesetting. It uses simple
>> KMS helpers and SHMEM.
>>
>> Patches 1 to 4 simplifies the driver before the conversion. For example,
>> the HW cursor is not usable with the way universal planes work. A few
>> data structures can be cleaned up.
>>
>> Patches 5 to 15 untangle the existing modesetting code into smaller
>> functions. Specifically, mode setting and plane updates are being
>> separated from each other.
>>
>> Patch 16 converts mgag200 to simple KMS helpers and enables atomic
>> mode setting.
>>
>> As some HW seems to require a framebuffer offset of 0 within the video
>> memory, it does not work with atomic modesetting. Atomically switching
>> plane framebuffers, requires either source or target buffer to be located
>> at a non-0 offet. To resolve this problem, patch 17 converts mgag200 from
>> VRAM helpers to SHMEM helpers. During plane updates, the content of the
>> SHMEM BO is memcpy'd to VRAM. From my subjective obersation, performance
>> is not nuch different from the original code.
>>
>> The patchset has been tested on MGA G200EH hardware.
>>
>> Thomas Zimmermann (17):
>>    drm/mgag200: Remove HW cursor
>>    drm/mgag200: Remove unused fields from struct mga_device
>>    drm/mgag200: Embed connector instance in struct mga_device
>>    drm/mgag200: Use managed mode-config initialization
>>    drm/mgag200: Clean up mga_set_start_address()
>>    drm/mgag200: Clean up mga_crtc_do_set_base()
>>    drm/mgag200: Move mode-setting code into separate helper function
>>    drm/mgag200: Split MISC register update into PLL selection, SYNC and
>>  I/O
>>    drm/mgag200: Update mode registers after plane registers
>>    drm/mgag200: Set pitch in a separate helper function
>>    drm/mgag200: Set primary plane's format in separate helper function
>>    drm/mgag200: Move TAGFIFO reset into separate function
>>    drm/mgag200: Move hiprilvl setting into separate functions
>>    drm/mgag200: Move register initialization into separate function
>>    drm/mgag200: Remove waiting from DPMS code
>>    drm/mgag200: Convert to simple KMS helper
>>    drm/mgag200: Replace VRAM helpers with SHMEM helpers
>>
>>   drivers/gpu/drm/mgag200/Kconfig  |   4 +-
>>   drivers/gpu/drm/mgag200/Makefile |   2 +-
>>   drivers/gpu/drm/mgag200/mgag200_cursor.c | 319 
>>   drivers/gpu/drm/mgag200/mgag200_drv.c    |  51 +-
>>   drivers/gpu/drm/mgag200/mgag200_drv.h    |  43 +-
>>   drivers/gpu/drm/mgag200/mgag200_main.c   |  28 -
>>   drivers/gpu/drm/mgag200/mgag200_mode.c   | 948 ---
>>   drivers/gpu/drm/mgag200/mgag200_reg.h    |   5 +-
>>   drivers/gpu/drm/mgag200/mgag200_ttm.c    |  35 +-
>>   9 files changed, 563 insertions(+), 872 deletions(-)
>>   delete mode 100644 drivers/gpu/drm/mgag200/mgag200_cursor.c
>>
>> -- 
>> 2.26.0
>>
> 
> 
>  Hi Thomas ,
> 
>  I would like to test this on hardware that uses this device integrated
> into as BMC  ( iLo ) that I have ran into problems before. Can you post
> your staging URL so I can clone it ?

Sure, I'll set something up for you. But it could take until next week.
I promise not to merge the patches before you had a chance to test them.

Best regards
Thomas

> 
> 
> ( Thank you for CC'ing me. I removed my email from on dlist recently) .
> 
> 
> 
> 

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörffer



signature.asc
Description: OpenPGP digital signature
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


re: [PATCH 00/17] drm/mgag200: Convert to atomic modesetting

2020-04-30 Thread John Donnelly

On 4/29/20 9:32 AM, Thomas Zimmermann wrote:

This patchset converts mgag200 to atomic modesetting. It uses simple
KMS helpers and SHMEM.

Patches 1 to 4 simplifies the driver before the conversion. For example,
the HW cursor is not usable with the way universal planes work. A few
data structures can be cleaned up.

Patches 5 to 15 untangle the existing modesetting code into smaller
functions. Specifically, mode setting and plane updates are being
separated from each other.

Patch 16 converts mgag200 to simple KMS helpers and enables atomic
mode setting.

As some HW seems to require a framebuffer offset of 0 within the video
memory, it does not work with atomic modesetting. Atomically switching
plane framebuffers, requires either source or target buffer to be located
at a non-0 offet. To resolve this problem, patch 17 converts mgag200 from
VRAM helpers to SHMEM helpers. During plane updates, the content of the
SHMEM BO is memcpy'd to VRAM. From my subjective obersation, performance
is not nuch different from the original code.

The patchset has been tested on MGA G200EH hardware.

Thomas Zimmermann (17):
   drm/mgag200: Remove HW cursor
   drm/mgag200: Remove unused fields from struct mga_device
   drm/mgag200: Embed connector instance in struct mga_device
   drm/mgag200: Use managed mode-config initialization
   drm/mgag200: Clean up mga_set_start_address()
   drm/mgag200: Clean up mga_crtc_do_set_base()
   drm/mgag200: Move mode-setting code into separate helper function
   drm/mgag200: Split MISC register update into PLL selection, SYNC and
 I/O
   drm/mgag200: Update mode registers after plane registers
   drm/mgag200: Set pitch in a separate helper function
   drm/mgag200: Set primary plane's format in separate helper function
   drm/mgag200: Move TAGFIFO reset into separate function
   drm/mgag200: Move hiprilvl setting into separate functions
   drm/mgag200: Move register initialization into separate function
   drm/mgag200: Remove waiting from DPMS code
   drm/mgag200: Convert to simple KMS helper
   drm/mgag200: Replace VRAM helpers with SHMEM helpers

  drivers/gpu/drm/mgag200/Kconfig  |   4 +-
  drivers/gpu/drm/mgag200/Makefile |   2 +-
  drivers/gpu/drm/mgag200/mgag200_cursor.c | 319 
  drivers/gpu/drm/mgag200/mgag200_drv.c|  51 +-
  drivers/gpu/drm/mgag200/mgag200_drv.h|  43 +-
  drivers/gpu/drm/mgag200/mgag200_main.c   |  28 -
  drivers/gpu/drm/mgag200/mgag200_mode.c   | 948 ---
  drivers/gpu/drm/mgag200/mgag200_reg.h|   5 +-
  drivers/gpu/drm/mgag200/mgag200_ttm.c|  35 +-
  9 files changed, 563 insertions(+), 872 deletions(-)
  delete mode 100644 drivers/gpu/drm/mgag200/mgag200_cursor.c

--
2.26.0




 Hi Thomas ,

 I would like to test this on hardware that uses this device integrated 
into as BMC  ( iLo ) that I have ran into problems before. Can you post 
your staging URL so I can clone it ?



( Thank you for CC'ing me. I removed my email from on dlist recently) .




--
Thank You,
John
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel