[BUG] Rockchip SPI: Runtime PM usage count underflow!
Dragan Simic
dsimic at manjaro.org
Sun Aug 18 13:26:03 PDT 2024
On 2024-08-18 22:10, Vicente Bergas wrote:
> On Sun, Aug 18, 2024 at 9:20 PM Dragan Simic <dsimic at manjaro.org>
> wrote:
>> On 2024-08-18 20:55, Vicente Bergas wrote:
>> > On Sun, Aug 18, 2024 at 8:26 PM Dragan Simic <dsimic at manjaro.org>
>> > wrote:
>> >> On 2024-08-18 20:13, Vicente Bergas wrote:
>> >> > i am a user of the CONFIG_SPI_SPIDEV device.
>> >> > It stopped working between 6.8 and 6.10.5.
>> >> > The SPI bus itself reports no errors to userspace, but no devices
>> >> > appear connected to the bus.
>> >> > The platform used is RK3328.
>> >> > The only spi-related message in dmesg is:
>> >> > rockchip-spi ff190000.spi: Runtime PM usage count underflow!
>> >>
>> >> I'm working on a related patch. Could you, please, describe your
>> >> use case for the spidev driver, i.e. what board are you using it on,
>> >> and for what purpose?
>> >
>> > The board is ROCK64 and the purpose is to update all the software that
>> > board runs, which is stored on the SPI NOR flash onboard.
>>
>> So, if I got it right, you boot your Rock64 from the SPI chip that
>> contains all the software it runs, but you also boot Linux on it from
>
> correct
>
>> a microSD card, to update the contents of the SPI chip? I'm guessing
>> it that way, because the size of an SPI chip is hardly large enough
>> for storing even an extremely size-optimized Linux system.
>
> No, everything is in the SPI NOR flash, which is 16MB in size and it
> is enough for my application.
Thanks for the clarification.
>> Anyway, I wonder why do you have to use the spidev driver for that
>> purpose? Why can't you use 'compatible = "jedec,spi-nor";' to access
>> the SPI chip through /dev/mtd0 under Linux?
>
> The bug report is about the SPI bus, MTD is a service provided on top
> of the SPI bus.
> If the bus fails, then there is no MTD.
> That said, i don't use MTD. The bootloader reads the kernel, dtb and
> initramfs from the SPI flash into RAM and boots linux entirely on RAM.
> There is no persistent filesystem on top of MTD.
Alright, but you wrote initially that you use CONFIG_SPI_SPIDEV,
which means that use the spidev driver, and you also wrote that it
has stopped working. All that meant to me that the spidev driver
no longer works for you, which is somewhat known issue.
Anyway, please let me know are the following directories present
on your Rock64 running the troublesome version of Linux kernel,
presumably 6.10.5, and if they are, please send over the listings
of their contents:
- /sys/bus/spi
- /sys/bus/spi/devices
- /sys/bus/spi/drivers
>> > I have not tested this kernel version on RK3399, but it may also
>> > affect that other use case:
>> > https://gitlab.com/vicencb/kevinboot
More information about the Linux-rockchip
mailing list