All of lore.kernel.org
 help / color / mirror / Atom feed
* IKVM on AST2400
@ 2019-05-27  8:19 Wim Vervoorn
  2019-05-27 12:40 ` Alexander A. Filippov
  0 siblings, 1 reply; 7+ messages in thread
From: Wim Vervoorn @ 2019-05-27  8:19 UTC (permalink / raw)
  To: openbmc

Hello Alexander,

We are supporting the AST2400 as well.

I am also wondering what the correct changes are to get iKVM working properly on the AST2400.

The errors caused by create_usbhid.sh are caused by usb gadget support that isn't enabled. This should be done in the Linux kernel. We are using the following options:

CONFIG_USB_GADGET=y
CONFIG_USB_F_HID=y
CONFIG_USB_GADGET=y
CONFIG_USB_ASPEED_VHUB=y
CONFIG_USB_CONFIGFS=y
CONFIG_USB_CONFIGFS_MASS_STORAGE=y
CONFIG_USB_CONFIGFS_F_HID=y

The CONFIG_USB_CONFIGFS_MASS_STORAGE is not really needed for this. This is only required if you also want to support emulation of a USB storage device.

Besides this you need a small change to the aspeed-g4.dtsi and the system dts to add the VHUB device. You can copy that from the aspeed-g5.dtsi.

I am wondering which support you enabled for the actual iKVM support to work and which code you are actually using. (which kernel etc).

As far as I have understood these memory area's are required but I am not really sure about it.

		gfx_memory: framebuffer {
			size = <0x00800000>;
			alignment = <0x01000000>;
			compatible = "shared-dma-pool";
			reusable;
		};

		video_engine_memory: jpegbuffer {
			size = <0x02000000>;	/* 32MM */
			alignment = <0x01000000>;
			compatible = "shared-dma-pool";
			reusable;
		};

The questions I have are :  

The "gfx_memory" area seems double to me we also have the "vga_memory" area which also is the video memory, why do we need to define a 2nd one that as far as I understand it points to the same physical part of RAM. 

I can understand where the "video_engine_memory" is for but it is not clear how I can determine the required size. As the total amount of memory is limited we are trying to reduce memory usage where possible and so far I haven't been able to find out what is defining the size of this block of memory.

Best regards,

Wim Vervoorn 






Date: Fri, 24 May 2019 15:03:28 +0300
From: "Alexander A. Filippov" <a.filippov@yadro.com>
To: OpenBMC Maillist <openbmc@lists.ozlabs.org>
Subject: IKVM on AST2400
Message-ID: <20190524120328.GA648@bbwork.lan>
Content-Type: text/plain; charset="utf-8"

Some time ago the obmc-ikvm service was added to the firmware. It causes some problems on our VESNIN hardware. As it based on AST2400 it does not have support for IKVM in the DTS. The system log contains messages that create_usbhid.sh is unable to find some items in the sysfs and then obmc-ikvm service crashes. It causes fail in QEMU_CI test.

I belive that this issue also present on other platforms based on AST2400. 

IBM Guys: Do you run tests for Palmetto? 
Is there anybody else who uses AST2400?

Well, my proposal is to make the IKVM support optional by moving it to the distrofeature.

Besides, I've solved these problems for our hardware by adding required kernel modules and modifying DTS. 
IKVM works, but bring a lot of warnings after the host was shut down while the VNC-client is still connected.

During the solving I copied some records from aspeed-g5.dtsi to aspeed-g4.dtsi. 
Should I commit these changes to Torvalds or OpenBMC repo?

--
Regards
Alexander Filippov
Software Engineer, YADRO

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: IKVM on AST2400
  2019-05-27  8:19 IKVM on AST2400 Wim Vervoorn
@ 2019-05-27 12:40 ` Alexander A. Filippov
  2019-05-28 15:33   ` Eddie James
  0 siblings, 1 reply; 7+ messages in thread
From: Alexander A. Filippov @ 2019-05-27 12:40 UTC (permalink / raw)
  To: openbmc


On Mon, May 27, 2019 at 08:19:44AM +0000, Wim Vervoorn wrote:
> Hello Alexander,
> 
> We are supporting the AST2400 as well.
> 
> I am also wondering what the correct changes are to get iKVM working properly on the AST2400.
> 
> The errors caused by create_usbhid.sh are caused by usb gadget support that isn't enabled. This should be done in the Linux kernel. We are using the following options:
> 
> CONFIG_USB_GADGET=y
> CONFIG_USB_F_HID=y
> CONFIG_USB_GADGET=y
> CONFIG_USB_ASPEED_VHUB=y
> CONFIG_USB_CONFIGFS=y
> CONFIG_USB_CONFIGFS_MASS_STORAGE=y
> CONFIG_USB_CONFIGFS_F_HID=y
> 
> The CONFIG_USB_CONFIGFS_MASS_STORAGE is not really needed for this. This is only required if you also want to support emulation of a USB storage device.
> 
> Besides this you need a small change to the aspeed-g4.dtsi and the system dts to add the VHUB device. You can copy that from the aspeed-g5.dtsi.

Yes, I've done it too. 

> 
> I am wondering which support you enabled for the actual iKVM support to work and which code you are actually using. (which kernel etc).

We use linux-aspeed recipe from OpenBMC mainline.
So, our kernel is 5.1.3.

I've also enabled these options:
    CONFIG_DRM=y
    CONFIG_DRM_ASPEED_GFX=y
    CONFIG_FRAME_VECTOR=y
    CONFIG_MEDIA_SUPPORT=y
    CONFIG_MEDIA_CAMERA_SUPPORT=y
    CONFIG_VIDEO_DEV=y
    CONFIG_VIDEO_V4L2=y
    CONFIG_V4L_PLATFORM_DRIVERS=y
    CONFIG_VIDEO_ASPEED=y
    CONFIG_VIDEOBUF2_CORE=y
    CONFIG_VIDEOBUF2_V4L2=y
    CONFIG_VIDEOBUF2_MEMOPS=y
    CONFIG_VIDEOBUF2_DMA_CONTIG=y
    CONFIG_MEDIA_SUBDRV_AUTOSELECT=y

and copied vga_scratch and video nodes from aspeed-g5.dtsi.
I've sent these changes to correspond maillists.
  https://lore.kernel.org/patchwork/patch/1079462/

> 
> As far as I have understood these memory area's are required but I am not really sure about it.
> 
> 		gfx_memory: framebuffer {
> 			size = <0x00800000>;
> 			alignment = <0x01000000>;
> 			compatible = "shared-dma-pool";
> 			reusable;
> 		};
> 
> 		video_engine_memory: jpegbuffer {
> 			size = <0x02000000>;	/* 32MM */
> 			alignment = <0x01000000>;
> 			compatible = "shared-dma-pool";
> 			reusable;
> 		};
> 
> The questions I have are :  
> 
> The "gfx_memory" area seems double to me we also have the "vga_memory" area which also is the video memory, why do we need to define a 2nd one that as far as I understand it points to the same physical part of RAM. 
> 

If I understand right, this node is not required for AST2400 because GFX is 
unsupported by SoC.

> I can understand where the "video_engine_memory" is for but it is not clear how I can determine the required size. As the total amount of memory is limited we are trying to reduce memory usage where possible and so far I haven't been able to find out what is defining the size of this block of memory.

I can't say anything about choosing buffer's size. I just copied it from AST2500 
and it works for me.

> 
> Best regards,
> 
> Wim Vervoorn 
> 
> 
> 
> 
> 
> 
> Date: Fri, 24 May 2019 15:03:28 +0300
> From: "Alexander A. Filippov" <a.filippov@yadro.com>
> To: OpenBMC Maillist <openbmc@lists.ozlabs.org>
> Subject: IKVM on AST2400
> Message-ID: <20190524120328.GA648@bbwork.lan>
> Content-Type: text/plain; charset="utf-8"
> 
> Some time ago the obmc-ikvm service was added to the firmware. It causes some problems on our VESNIN hardware. As it based on AST2400 it does not have support for IKVM in the DTS. The system log contains messages that create_usbhid.sh is unable to find some items in the sysfs and then obmc-ikvm service crashes. It causes fail in QEMU_CI test.
> 
> I belive that this issue also present on other platforms based on AST2400. 
> 
> IBM Guys: Do you run tests for Palmetto? 
> Is there anybody else who uses AST2400?
> 
> Well, my proposal is to make the IKVM support optional by moving it to the distrofeature.
> 
> Besides, I've solved these problems for our hardware by adding required kernel modules and modifying DTS. 
> IKVM works, but bring a lot of warnings after the host was shut down while the VNC-client is still connected.
> 
> During the solving I copied some records from aspeed-g5.dtsi to aspeed-g4.dtsi. 
> Should I commit these changes to Torvalds or OpenBMC repo?
> 
> --
> Regards
> Alexander Filippov
> Software Engineer, YADRO
> 
> 
> 

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: IKVM on AST2400
  2019-05-27 12:40 ` Alexander A. Filippov
@ 2019-05-28 15:33   ` Eddie James
  2019-05-29 12:09     ` Wim Vervoorn
  0 siblings, 1 reply; 7+ messages in thread
From: Eddie James @ 2019-05-28 15:33 UTC (permalink / raw)
  To: Alexander A. Filippov, openbmc


On 5/27/19 7:40 AM, Alexander A. Filippov wrote:
> On Mon, May 27, 2019 at 08:19:44AM +0000, Wim Vervoorn wrote:
>> Hello Alexander,
>>
>> We are supporting the AST2400 as well.
>>
>> I am also wondering what the correct changes are to get iKVM working properly on the AST2400.
>>
>> The errors caused by create_usbhid.sh are caused by usb gadget support that isn't enabled. This should be done in the Linux kernel. We are using the following options:
>>
>> CONFIG_USB_GADGET=y
>> CONFIG_USB_F_HID=y
>> CONFIG_USB_GADGET=y
>> CONFIG_USB_ASPEED_VHUB=y
>> CONFIG_USB_CONFIGFS=y
>> CONFIG_USB_CONFIGFS_MASS_STORAGE=y
>> CONFIG_USB_CONFIGFS_F_HID=y
>>
>> The CONFIG_USB_CONFIGFS_MASS_STORAGE is not really needed for this. This is only required if you also want to support emulation of a USB storage device.
>>
>> Besides this you need a small change to the aspeed-g4.dtsi and the system dts to add the VHUB device. You can copy that from the aspeed-g5.dtsi.
> Yes, I've done it too.
>
>> I am wondering which support you enabled for the actual iKVM support to work and which code you are actually using. (which kernel etc).
> We use linux-aspeed recipe from OpenBMC mainline.
> So, our kernel is 5.1.3.
>
> I've also enabled these options:
>      CONFIG_DRM=y
>      CONFIG_DRM_ASPEED_GFX=y
>      CONFIG_FRAME_VECTOR=y
>      CONFIG_MEDIA_SUPPORT=y
>      CONFIG_MEDIA_CAMERA_SUPPORT=y
>      CONFIG_VIDEO_DEV=y
>      CONFIG_VIDEO_V4L2=y
>      CONFIG_V4L_PLATFORM_DRIVERS=y
>      CONFIG_VIDEO_ASPEED=y
>      CONFIG_VIDEOBUF2_CORE=y
>      CONFIG_VIDEOBUF2_V4L2=y
>      CONFIG_VIDEOBUF2_MEMOPS=y
>      CONFIG_VIDEOBUF2_DMA_CONTIG=y
>      CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
>
> and copied vga_scratch and video nodes from aspeed-g5.dtsi.
> I've sent these changes to correspond maillists.
>    https://lore.kernel.org/patchwork/patch/1079462/
>
>> As far as I have understood these memory area's are required but I am not really sure about it.
>>
>> 		gfx_memory: framebuffer {
>> 			size = <0x00800000>;
>> 			alignment = <0x01000000>;
>> 			compatible = "shared-dma-pool";
>> 			reusable;
>> 		};
>>
>> 		video_engine_memory: jpegbuffer {
>> 			size = <0x02000000>;	/* 32MM */
>> 			alignment = <0x01000000>;
>> 			compatible = "shared-dma-pool";
>> 			reusable;
>> 		};
>>
>> The questions I have are :
>>
>> The "gfx_memory" area seems double to me we also have the "vga_memory" area which also is the video memory, why do we need to define a 2nd one that as far as I understand it points to the same physical part of RAM.
>>
> If I understand right, this node is not required for AST2400 because GFX is
> unsupported by SoC.
>
>> I can understand where the "video_engine_memory" is for but it is not clear how I can determine the required size. As the total amount of memory is limited we are trying to reduce memory usage where possible and so far I haven't been able to find out what is defining the size of this block of memory.
> I can't say anything about choosing buffer's size. I just copied it from AST2500
> and it works for me.

Hi Wim,

In order to detect the resolution, the driver allocates a buffer for the 
largest possible resolution (1920x1200x32bpp). Once detected, the memory 
is reduced down to what is needed (double buffer of the detected 
resolution, as well as the compression buffer, which is small in 
comparison). So that is why that reserved memory block is that size, 
though I think it is larger than it needs to be. I had issues with 
attempting to reliably allocate DMA without the reserved memory (memory 
is probably too fragmented).

Hope that helps,

Eddie

>
>> Best regards,
>>
>> Wim Vervoorn
>>
>>
>>
>>
>>
>>
>> Date: Fri, 24 May 2019 15:03:28 +0300
>> From: "Alexander A. Filippov" <a.filippov@yadro.com>
>> To: OpenBMC Maillist <openbmc@lists.ozlabs.org>
>> Subject: IKVM on AST2400
>> Message-ID: <20190524120328.GA648@bbwork.lan>
>> Content-Type: text/plain; charset="utf-8"
>>
>> Some time ago the obmc-ikvm service was added to the firmware. It causes some problems on our VESNIN hardware. As it based on AST2400 it does not have support for IKVM in the DTS. The system log contains messages that create_usbhid.sh is unable to find some items in the sysfs and then obmc-ikvm service crashes. It causes fail in QEMU_CI test.
>>
>> I belive that this issue also present on other platforms based on AST2400.
>>
>> IBM Guys: Do you run tests for Palmetto?
>> Is there anybody else who uses AST2400?
>>
>> Well, my proposal is to make the IKVM support optional by moving it to the distrofeature.
>>
>> Besides, I've solved these problems for our hardware by adding required kernel modules and modifying DTS.
>> IKVM works, but bring a lot of warnings after the host was shut down while the VNC-client is still connected.
>>
>> During the solving I copied some records from aspeed-g5.dtsi to aspeed-g4.dtsi.
>> Should I commit these changes to Torvalds or OpenBMC repo?
>>
>> --
>> Regards
>> Alexander Filippov
>> Software Engineer, YADRO
>>
>>
>>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* RE: IKVM on AST2400
  2019-05-28 15:33   ` Eddie James
@ 2019-05-29 12:09     ` Wim Vervoorn
  2019-05-29 13:14       ` Eddie James
  0 siblings, 1 reply; 7+ messages in thread
From: Wim Vervoorn @ 2019-05-29 12:09 UTC (permalink / raw)
  To: Eddie James, Alexander A. Filippov, openbmc

Hello Eddie,

Thanks for your response.

It clears things up a bit.

Just to make sure I understand the mechanism correctly.

The " gfx_memory" is used to buffer the actual framebuffer content is that right?

The "video_engine_memory" are is the compression buffer.

The driver allocates the memory from these reserved areas. Is there a way to release these area's for general use when the iKVM is shutdown. This would allow me to update the system right now these two area's are already occupying a large part of the system memory and I need approx. 32 MB to perform the update.

Best Regards,
Wim Vervoorn


-----Original Message-----
From: openbmc [mailto:openbmc-bounces+wvervoorn=eltan.com@lists.ozlabs.org] On Behalf Of Eddie James
Sent: Tuesday, May 28, 2019 5:33 PM
To: Alexander A. Filippov <a.filippov@yadro.com>; openbmc@lists.ozlabs.org
Subject: Re: IKVM on AST2400


On 5/27/19 7:40 AM, Alexander A. Filippov wrote:
> On Mon, May 27, 2019 at 08:19:44AM +0000, Wim Vervoorn wrote:
>> Hello Alexander,
>>
>> We are supporting the AST2400 as well.
>>
>> I am also wondering what the correct changes are to get iKVM working properly on the AST2400.
>>
>> The errors caused by create_usbhid.sh are caused by usb gadget support that isn't enabled. This should be done in the Linux kernel. We are using the following options:
>>
>> CONFIG_USB_GADGET=y
>> CONFIG_USB_F_HID=y
>> CONFIG_USB_GADGET=y
>> CONFIG_USB_ASPEED_VHUB=y
>> CONFIG_USB_CONFIGFS=y
>> CONFIG_USB_CONFIGFS_MASS_STORAGE=y
>> CONFIG_USB_CONFIGFS_F_HID=y
>>
>> The CONFIG_USB_CONFIGFS_MASS_STORAGE is not really needed for this. This is only required if you also want to support emulation of a USB storage device.
>>
>> Besides this you need a small change to the aspeed-g4.dtsi and the system dts to add the VHUB device. You can copy that from the aspeed-g5.dtsi.
> Yes, I've done it too.
>
>> I am wondering which support you enabled for the actual iKVM support to work and which code you are actually using. (which kernel etc).
> We use linux-aspeed recipe from OpenBMC mainline.
> So, our kernel is 5.1.3.
>
> I've also enabled these options:
>      CONFIG_DRM=y
>      CONFIG_DRM_ASPEED_GFX=y
>      CONFIG_FRAME_VECTOR=y
>      CONFIG_MEDIA_SUPPORT=y
>      CONFIG_MEDIA_CAMERA_SUPPORT=y
>      CONFIG_VIDEO_DEV=y
>      CONFIG_VIDEO_V4L2=y
>      CONFIG_V4L_PLATFORM_DRIVERS=y
>      CONFIG_VIDEO_ASPEED=y
>      CONFIG_VIDEOBUF2_CORE=y
>      CONFIG_VIDEOBUF2_V4L2=y
>      CONFIG_VIDEOBUF2_MEMOPS=y
>      CONFIG_VIDEOBUF2_DMA_CONTIG=y
>      CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
>
> and copied vga_scratch and video nodes from aspeed-g5.dtsi.
> I've sent these changes to correspond maillists.
>    https://lore.kernel.org/patchwork/patch/1079462/
>
>> As far as I have understood these memory area's are required but I am not really sure about it.
>>
>> 		gfx_memory: framebuffer {
>> 			size = <0x00800000>;
>> 			alignment = <0x01000000>;
>> 			compatible = "shared-dma-pool";
>> 			reusable;
>> 		};
>>
>> 		video_engine_memory: jpegbuffer {
>> 			size = <0x02000000>;	/* 32MM */
>> 			alignment = <0x01000000>;
>> 			compatible = "shared-dma-pool";
>> 			reusable;
>> 		};
>>
>> The questions I have are :
>>
>> The "gfx_memory" area seems double to me we also have the "vga_memory" area which also is the video memory, why do we need to define a 2nd one that as far as I understand it points to the same physical part of RAM.
>>
> If I understand right, this node is not required for AST2400 because 
> GFX is unsupported by SoC.
>
>> I can understand where the "video_engine_memory" is for but it is not clear how I can determine the required size. As the total amount of memory is limited we are trying to reduce memory usage where possible and so far I haven't been able to find out what is defining the size of this block of memory.
> I can't say anything about choosing buffer's size. I just copied it 
> from AST2500 and it works for me.

Hi Wim,

In order to detect the resolution, the driver allocates a buffer for the largest possible resolution (1920x1200x32bpp). Once detected, the memory is reduced down to what is needed (double buffer of the detected resolution, as well as the compression buffer, which is small in comparison). So that is why that reserved memory block is that size, though I think it is larger than it needs to be. I had issues with attempting to reliably allocate DMA without the reserved memory (memory is probably too fragmented).

Hope that helps,

Eddie

>
>> Best regards,
>>
>> Wim Vervoorn
>>
>>
>>
>>
>>
>>
>> Date: Fri, 24 May 2019 15:03:28 +0300
>> From: "Alexander A. Filippov" <a.filippov@yadro.com>
>> To: OpenBMC Maillist <openbmc@lists.ozlabs.org>
>> Subject: IKVM on AST2400
>> Message-ID: <20190524120328.GA648@bbwork.lan>
>> Content-Type: text/plain; charset="utf-8"
>>
>> Some time ago the obmc-ikvm service was added to the firmware. It causes some problems on our VESNIN hardware. As it based on AST2400 it does not have support for IKVM in the DTS. The system log contains messages that create_usbhid.sh is unable to find some items in the sysfs and then obmc-ikvm service crashes. It causes fail in QEMU_CI test.
>>
>> I belive that this issue also present on other platforms based on AST2400.
>>
>> IBM Guys: Do you run tests for Palmetto?
>> Is there anybody else who uses AST2400?
>>
>> Well, my proposal is to make the IKVM support optional by moving it to the distrofeature.
>>
>> Besides, I've solved these problems for our hardware by adding required kernel modules and modifying DTS.
>> IKVM works, but bring a lot of warnings after the host was shut down while the VNC-client is still connected.
>>
>> During the solving I copied some records from aspeed-g5.dtsi to aspeed-g4.dtsi.
>> Should I commit these changes to Torvalds or OpenBMC repo?
>>
>> --
>> Regards
>> Alexander Filippov
>> Software Engineer, YADRO
>>
>>
>>




^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: IKVM on AST2400
  2019-05-29 12:09     ` Wim Vervoorn
@ 2019-05-29 13:14       ` Eddie James
  0 siblings, 0 replies; 7+ messages in thread
From: Eddie James @ 2019-05-29 13:14 UTC (permalink / raw)
  To: Wim Vervoorn, Alexander A. Filippov, openbmc


On 5/29/19 7:09 AM, Wim Vervoorn wrote:
> Hello Eddie,
>
> Thanks for your response.
>
> It clears things up a bit.
>
> Just to make sure I understand the mechanism correctly.
>
> The " gfx_memory" is used to buffer the actual framebuffer content is that right?
>
> The "video_engine_memory" are is the compression buffer.


No, the gfx_memory is for the DRM driver on the bmc, that handles the 
buffers for actually displaying the VGA output locally, i.e. you plug a 
monitor into the back of the system. The video_engine_memory is for the 
framebuffer and compression buffer for the video engine driver, which 
grabs the VGA output into RGB data. Sorry for the confusion...


>
> The driver allocates the memory from these reserved areas. Is there a way to release these area's for general use when the iKVM is shutdown. This would allow me to update the system right now these two area's are already occupying a large part of the system memory and I need approx. 32 MB to perform the update.


Not that I'm aware of. If the reserved memory is set in the devicetree, 
I think it's fixed. There might be a way to instead call 
dma_declare_coherent or something at probe time that would reliably get 
enough memory, that could then be allocated later. And removing the 
driver module would release it in that case. I haven't tried that.


Thanks,

Eddie


>
> Best Regards,
> Wim Vervoorn
>
>
> -----Original Message-----
> From: openbmc [mailto:openbmc-bounces+wvervoorn=eltan.com@lists.ozlabs.org] On Behalf Of Eddie James
> Sent: Tuesday, May 28, 2019 5:33 PM
> To: Alexander A. Filippov <a.filippov@yadro.com>; openbmc@lists.ozlabs.org
> Subject: Re: IKVM on AST2400
>
>
> On 5/27/19 7:40 AM, Alexander A. Filippov wrote:
>> On Mon, May 27, 2019 at 08:19:44AM +0000, Wim Vervoorn wrote:
>>> Hello Alexander,
>>>
>>> We are supporting the AST2400 as well.
>>>
>>> I am also wondering what the correct changes are to get iKVM working properly on the AST2400.
>>>
>>> The errors caused by create_usbhid.sh are caused by usb gadget support that isn't enabled. This should be done in the Linux kernel. We are using the following options:
>>>
>>> CONFIG_USB_GADGET=y
>>> CONFIG_USB_F_HID=y
>>> CONFIG_USB_GADGET=y
>>> CONFIG_USB_ASPEED_VHUB=y
>>> CONFIG_USB_CONFIGFS=y
>>> CONFIG_USB_CONFIGFS_MASS_STORAGE=y
>>> CONFIG_USB_CONFIGFS_F_HID=y
>>>
>>> The CONFIG_USB_CONFIGFS_MASS_STORAGE is not really needed for this. This is only required if you also want to support emulation of a USB storage device.
>>>
>>> Besides this you need a small change to the aspeed-g4.dtsi and the system dts to add the VHUB device. You can copy that from the aspeed-g5.dtsi.
>> Yes, I've done it too.
>>
>>> I am wondering which support you enabled for the actual iKVM support to work and which code you are actually using. (which kernel etc).
>> We use linux-aspeed recipe from OpenBMC mainline.
>> So, our kernel is 5.1.3.
>>
>> I've also enabled these options:
>>       CONFIG_DRM=y
>>       CONFIG_DRM_ASPEED_GFX=y
>>       CONFIG_FRAME_VECTOR=y
>>       CONFIG_MEDIA_SUPPORT=y
>>       CONFIG_MEDIA_CAMERA_SUPPORT=y
>>       CONFIG_VIDEO_DEV=y
>>       CONFIG_VIDEO_V4L2=y
>>       CONFIG_V4L_PLATFORM_DRIVERS=y
>>       CONFIG_VIDEO_ASPEED=y
>>       CONFIG_VIDEOBUF2_CORE=y
>>       CONFIG_VIDEOBUF2_V4L2=y
>>       CONFIG_VIDEOBUF2_MEMOPS=y
>>       CONFIG_VIDEOBUF2_DMA_CONTIG=y
>>       CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
>>
>> and copied vga_scratch and video nodes from aspeed-g5.dtsi.
>> I've sent these changes to correspond maillists.
>>     https://lore.kernel.org/patchwork/patch/1079462/
>>
>>> As far as I have understood these memory area's are required but I am not really sure about it.
>>>
>>> 		gfx_memory: framebuffer {
>>> 			size = <0x00800000>;
>>> 			alignment = <0x01000000>;
>>> 			compatible = "shared-dma-pool";
>>> 			reusable;
>>> 		};
>>>
>>> 		video_engine_memory: jpegbuffer {
>>> 			size = <0x02000000>;	/* 32MM */
>>> 			alignment = <0x01000000>;
>>> 			compatible = "shared-dma-pool";
>>> 			reusable;
>>> 		};
>>>
>>> The questions I have are :
>>>
>>> The "gfx_memory" area seems double to me we also have the "vga_memory" area which also is the video memory, why do we need to define a 2nd one that as far as I understand it points to the same physical part of RAM.
>>>
>> If I understand right, this node is not required for AST2400 because
>> GFX is unsupported by SoC.
>>
>>> I can understand where the "video_engine_memory" is for but it is not clear how I can determine the required size. As the total amount of memory is limited we are trying to reduce memory usage where possible and so far I haven't been able to find out what is defining the size of this block of memory.
>> I can't say anything about choosing buffer's size. I just copied it
>> from AST2500 and it works for me.
> Hi Wim,
>
> In order to detect the resolution, the driver allocates a buffer for the largest possible resolution (1920x1200x32bpp). Once detected, the memory is reduced down to what is needed (double buffer of the detected resolution, as well as the compression buffer, which is small in comparison). So that is why that reserved memory block is that size, though I think it is larger than it needs to be. I had issues with attempting to reliably allocate DMA without the reserved memory (memory is probably too fragmented).
>
> Hope that helps,
>
> Eddie
>
>>> Best regards,
>>>
>>> Wim Vervoorn
>>>
>>>
>>>
>>>
>>>
>>>
>>> Date: Fri, 24 May 2019 15:03:28 +0300
>>> From: "Alexander A. Filippov" <a.filippov@yadro.com>
>>> To: OpenBMC Maillist <openbmc@lists.ozlabs.org>
>>> Subject: IKVM on AST2400
>>> Message-ID: <20190524120328.GA648@bbwork.lan>
>>> Content-Type: text/plain; charset="utf-8"
>>>
>>> Some time ago the obmc-ikvm service was added to the firmware. It causes some problems on our VESNIN hardware. As it based on AST2400 it does not have support for IKVM in the DTS. The system log contains messages that create_usbhid.sh is unable to find some items in the sysfs and then obmc-ikvm service crashes. It causes fail in QEMU_CI test.
>>>
>>> I belive that this issue also present on other platforms based on AST2400.
>>>
>>> IBM Guys: Do you run tests for Palmetto?
>>> Is there anybody else who uses AST2400?
>>>
>>> Well, my proposal is to make the IKVM support optional by moving it to the distrofeature.
>>>
>>> Besides, I've solved these problems for our hardware by adding required kernel modules and modifying DTS.
>>> IKVM works, but bring a lot of warnings after the host was shut down while the VNC-client is still connected.
>>>
>>> During the solving I copied some records from aspeed-g5.dtsi to aspeed-g4.dtsi.
>>> Should I commit these changes to Torvalds or OpenBMC repo?
>>>
>>> --
>>> Regards
>>> Alexander Filippov
>>> Software Engineer, YADRO
>>>
>>>
>>>
>
>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: IKVM on AST2400
  2019-05-24 12:03 Alexander A. Filippov
@ 2019-05-27  3:10 ` Joel Stanley
  0 siblings, 0 replies; 7+ messages in thread
From: Joel Stanley @ 2019-05-27  3:10 UTC (permalink / raw)
  To: Alexander A. Filippov, Eddie James, Brad Bishop; +Cc: OpenBMC Maillist

Hi Alexander,

On Fri, 24 May 2019 at 12:03, Alexander A. Filippov
<a.filippov@yadro.com> wrote:
>
> Some time ago the obmc-ikvm service was added to the firmware. It causes some
> problems on our VESNIN hardware. As it based on AST2400 it does not have support
> for IKVM in the DTS. The system log contains messages that create_usbhid.sh is
> unable to find some items in the sysfs and then obmc-ikvm service crashes. It
> causes fail in QEMU_CI test.
>
> I belive that this issue also present on other platforms based on AST2400.
>
> IBM Guys: Do you run tests for Palmetto?
> Is there anybody else who uses AST2400?

I am not sure that anyone has tested it on ast2400. If it works, we
can enable it for palmetto.

>
> Well, my proposal is to make the IKVM support optional by moving it to the
> distrofeature.
>
> Besides, I've solved these problems for our hardware by adding required kernel
> modules and modifying DTS.
> IKVM works, but bring a lot of warnings after the host was shut down while the
> VNC-client is still connected.
>
> During the solving I copied some records from aspeed-g5.dtsi to aspeed-g4.dtsi.
> Should I commit these changes to Torvalds or OpenBMC repo?

Send them to mainline (Torvalds).

Thanks,

Joel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* IKVM on AST2400
@ 2019-05-24 12:03 Alexander A. Filippov
  2019-05-27  3:10 ` Joel Stanley
  0 siblings, 1 reply; 7+ messages in thread
From: Alexander A. Filippov @ 2019-05-24 12:03 UTC (permalink / raw)
  To: OpenBMC Maillist

Some time ago the obmc-ikvm service was added to the firmware. It causes some
problems on our VESNIN hardware. As it based on AST2400 it does not have support
for IKVM in the DTS. The system log contains messages that create_usbhid.sh is
unable to find some items in the sysfs and then obmc-ikvm service crashes. It
causes fail in QEMU_CI test.

I belive that this issue also present on other platforms based on AST2400. 

IBM Guys: Do you run tests for Palmetto? 
Is there anybody else who uses AST2400?

Well, my proposal is to make the IKVM support optional by moving it to the
distrofeature.

Besides, I've solved these problems for our hardware by adding required kernel
modules and modifying DTS. 
IKVM works, but bring a lot of warnings after the host was shut down while the
VNC-client is still connected.

During the solving I copied some records from aspeed-g5.dtsi to aspeed-g4.dtsi. 
Should I commit these changes to Torvalds or OpenBMC repo?

--
Regards
Alexander Filippov
Software Engineer, YADRO

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2019-05-29 13:16 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-27  8:19 IKVM on AST2400 Wim Vervoorn
2019-05-27 12:40 ` Alexander A. Filippov
2019-05-28 15:33   ` Eddie James
2019-05-29 12:09     ` Wim Vervoorn
2019-05-29 13:14       ` Eddie James
  -- strict thread matches above, loose matches on Subject: below --
2019-05-24 12:03 Alexander A. Filippov
2019-05-27  3:10 ` Joel Stanley

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.