ACK: [SRU][Bionic][PATCH 0/2] hibmc-drm Causes Unreadable Display for Huawei amd64 Servers

Connor Kuehl connor.kuehl at canonical.com
Fri Jul 19 16:04:25 UTC 2019


On 7/15/19 6:08 PM, Matthew Ruffell wrote:
> BugLink: https://bugs.launchpad.net/bugs/1762940
> 
> [Impact]
> 
> amd64 based Huawei servers have problems where the display output of their iBMC
> chips is broken, resulting in a "blurry" screen when viewed from their in house
> remote kvm-like console.
> 
> Example:
> 
> https://launchpadlibrarian.net/365907668/creen_picture_for_blur.png
> 
> The issue is caused by the hibmc_drm kernel module being loaded. The PCI ID for
> the iBMC chips on amd64 hardware is the same as arm64 hardware, but the 
> hibmc_drm driver was developed only for use on arm64 hardware, most notably for
> the Huawei D05 development board.
> 
> The impact to Huawei is that their customers cannot use Ubuntu server install
> media as the screen goes "blurry" when the d-i install media or subuqity
> installer loads the hibmc_drm kernel module after language selection. 
> 
> The only workaround for their customers is to press the "E" key during the very
> first installer menu and adding "modprobe.blacklist=hibmc_drm" to the kernel
> command line in the grub menu. This is not good for customer experience with 
> their servers.
> 
> Other problems exist for the hibmc_drm driver on amd64, such as working on 
> bios, but not uefi, and not being wayland compatible, making the screen blurry
> whenever a desktop session is started and gdm loaded.
> 
> Huawei have asked us to remove hibmc_drm from all architectures except arm64,
> and this aligns with advice from Hisilicon.
> 
> [Fix]
> 
> I modified the config/annotations file to remove all architectures except arm64,
> and created a patch for Kconfig to set a firm requirement on ARM64 for hibmc_drm.
> 
> I will send the Kconfig patch upstream in the coming days for a more permanent 
> fix.
> 
> [Testcase]
> 
> Apply the patches and run: 
> 
> ubuntu-bionic/CONFIGS$ fakeroot debian/rules genconfigs
> ubuntu-bionic/CONFIGS$ grep -Rin "hibmc" .
> ./arm64-config.flavour.generic:5739:CONFIG_DRM_HISI_HIBMC=m
> 
> You should see that only arm64 has the config option enabled.
> 
> A test kernel has been built, and is available here:
> https://launchpad.net/~mruffell/+archive/ubuntu/sf232667-test
> 
> Huawei requested a test d-i install iso to test server install with, which can
> be found here and uses the kernel from the ppa above:
> https://people.canonical.com/~mruffell/sf232667_ubuntu_server_d-i_20190711b1.iso
> 
> Both the test kernel and the custom d-i install iso have been tested on amd64
> Huawei server hardware successfully and video output is functional.
> 
> [Regression Potential]
> 
> Regressions will be limited to hardware containing the iBMC chips from Hisilicon,
> which I believe are exclusive to Huawei servers. 
> 
> I have taken care to ensure that hibmc_drm is enabled for ARM64 so it should not
> impact kernels built for the Huawei D05 arm64 development board, and d-i will
> still load the hibmc_drm driver during startup for arm64. 
> 
> 
> 
> *** BLURB HERE ***
> 
> Matthew Ruffell (2):
>   UBUNTU: [Config] Set CONFIG_DRM_HISI_HIBMC to arm64 only
>   UBUNTU: SAUCE: Make CONFIG_DRM_HISI_HIBMC depend on ARM64
> 
>  debian.master/config/annotations        | 2 +-
>  drivers/gpu/drm/hisilicon/hibmc/Kconfig | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 

Acked-by: Connor Kuehl <connor.kuehl at canonical.com>



More information about the kernel-team mailing list