+ Adrian On Thu, 23 Jan 2020 at 11:40, Tim Schumacher <tim@xxxxxxxxxx> wrote: > > On 2019-09-06, Ulf Hansson wrote: > > On Thu, 5 Sep 2019 at 22:01, Tim Schumacher <tim@xxxxxxxxxx> wrote: > > > > > > Hi, > > > > > > I'm sending this old bug by mail since a lot of developers don't use > > > bugzilla. > > > > > > Original bug report on bugzilla by Pedro Rodrigues from 2019-01-30: > > > > > > https://bugzilla.kernel.org/show_bug.cgi?id=202459 > > > > > > > This bug can be found on a Lenovo Miix 320-10ICR > > > > > > > > When using a SDXC (UHS) card, the screen becomes black if > > > > _mmc_sd_resume() is called. After some investigation, I found that an > > > > UHS card uses 1.8 V for signalling while a normal SD card uses 3.3 V. By > > > > forcing the SDXC to use 3.3 V the black screen does not appear. It seems > > > > that during a _mmc_sd_resume function call, while claiming the host, an > > > > I2C resume function is called based on an existing supplier link between > > > > the I2C bus and the card device. The problem is that if the signalling > > > > voltage is configured to 1.8 V, during the I2C resume call, the screen > > > > turns black. I was able to fix this issue by setting the initial signal > > > > voltage (3.3 V) before suspending the card, so that when the card is > > > > resumed, the voltage is in the original state. To do this I added a > > > > function call to mmc_set_initial_signal_voltage() during mmc_power_off > > > > routine (drivers/mmc/core/core.c). As I’m not an expert on Linux, I’m > > > > posting the issue and possible solution so that it could be implemented > > > > on a future release. > > > > > > > > Please, share your thoughts :) > > > > > > I can't provide further insight but I'm interested if this is possibly > > > the cause for the general issues people are having with the SD card > > > reader on Lenovo Miix 320 devices. > > > > > > Those issues described in posts like > > > > > > https://vincent-ventures.com/2018/12/arch-linux-on-lenovo-ideapad-miix-320/ > > > https://esc.sh/blog/linux-on-lenovo-miix-320/ > > > > > > are (1) black screen when booting with an SD card installed and (2) when > > > inserting an SD card after booting it shows up but upon trying to access > > > it the screen turns black until the card is removed again. > > > > > > I can confirm (1) on my Lenovo Miix 320-10ICR with kernel version > > > 5.2.11. I can also confirm that only SDXC cards are affected, SD and > > > SDHC cards work as expected. > > > > For the mmc community to help, you need to provide some kernel logs, > > output from lspci, figure out what mmc host driver that is being used, > > etc - in general collect more data. Then re-post the data to > > linux-mmc, me and a potential mmc host driver maintainer (if there is > > one). Yes, we can look into bugzilla as well, but first we need some > > more overall info in an email. > > > > Most likely, if there is any response, you will be asked to test > > patches. So you need to be able build and boot a new kernel, but I > > guess you already know that part. > > > > Kind regards > > Uffe > > > > Hi, I'm coming back to this issue now. The issue is still present in > kernel version 5.4.8. > > Kernel logs from boot with SD card and black screen: https://termbin.com/outp > Kernel logs from boot without SD card: https://termbin.com/dc2y > > I couldn't find anything conspicuous in there, the card is working as > expected. Only issue is the black screen (I'm doing these tests via SSH). > > lspci output: https://termbin.com/x452 > > How do I figure out which mmc host driver is in use? I assume I'm > looking for one of these https://github.com/torvalds/linux/tree/master/drivers/mmc/host > I couldn't find anything like it in the kernel logs or from lsmod. > > Please read the original bug report by Pedro Rodrigues quoted above. > He got to the technical core of the problem already and proposed a fix > I assume could be understood, sanity checked and implemented by a mmc > maintainer. I have read the reports and browsed the data you provided. It seems like this is an sdhci-acpi mmc/sd controller, Adrian Hunter (Intel maintains this variant). There is one eMMC, which seems to work fine and then the SD-card that you have inserted. The SD card looks like it gets detected properly. I don't see anything in the logs that stands out. However, I would try a couple of different SD-cards, just to see what happens (if you have more then one at hand). From that and going forward, I think I will need to defer to Adrian's help. Perhaps we can put together some debug patch for you to test, or so. I will keep monitoring the discussion and fold in if there is anything more I can help with. Kind regards Uffe