Re: Black screen while resuming a SDXC (UHS) card (_mmc_sd_resume)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 27/01/20 1:37 pm, Ulf Hansson wrote:
> + Adrian

Is this the same as:

	https://lore.kernel.org/linux-mmc/20200108093903.57620-2-hdegoede@xxxxxxxxxx/

> 
> 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
> 




[Index of Archives]     [Linux Memonry Technology]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux