mmc: tmio: why enable/disable SDIO irq on every transaction with IOMOD?

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

 



Hello,

We've been using tmio_mmc_pio.c and seeing the following message:

	"sh_mobile_sdhi sh_mobile_sdhi.1: timeout waiting for SD bus idle"

While searching for a fix, we found some code we don't understand.
I'm sending this question with a hope that someone would enlighten us a
bit.  So, here goes.

The SDIO spec. seems to allow sending SDIO IRQ between the blocks of
multi-block transfer.  The hardware, SCLKDIVEN bit of SD_INFO02, is
set to zero (0) and prohibits to access IOMOD bit of SDIO_MODE
register while multi-block transfer is going.

The current code, however, tries to disable SDIO IRQ by setting IOMOD
to zero in tmio_mmc_enable_sdio_irq() all the time, even during
multi-block transfer.  This prints the above waring.  What we don't
understand is that the code does both masking and disabling the IRQ.

So my question is that "What is the reason behind to disable IRQ with
SDIO_MODE?  Is there any situation which masking with SDIO_INFO1_MASK
is not enough?

Thanks you,
-- 
           yashi
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



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

  Powered by Linux