[lkml]   [2008]   [Jun]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH] [OLPC] sdhci: add quirk for the Marvell CaFe's interrupt timeout
    On Mon, 23 Jun 2008 10:13:52 -0400
    Andres Salomon <> wrote:

    > The CaFe chip has a hardware bug that ends up with us getting a timeout
    > value that's too small, causing the following sorts of problems:
    > [ 60.525138] mmcblk0: error -110 transferring data
    > [ 60.531477] end_request: I/O error, dev mmcblk0, sector 1484353
    > [ 60.533371] Buffer I/O error on device mmcblk0p2, logical block 181632
    > [ 60.533371] lost page write due to I/O error on mmcblk0p2
    > Presumably this is an off-by-one error in the hardware. Incrementing
    > the timeout count value that we stuff into the TIMEOUT_CONTROL register
    > gets us a value that works. This bug was originally discovered by
    > Pierre Ossman, I believe.
    > [thanks to Robert Millan for proving that this was still a problem]
    > Signed-off-by: Andres Salomon <>

    Hmm... I'm not entirely sure about the specifics of the workaround
    here. It's likely that we'll have an off-by-minus-one in another
    controller, and off-by-two in a third.

    Perhaps we should just have "broken timeout" and set the timeout to
    0xE. It doesn't cause any side-effects except that the user will have
    to wait slightly longer for requests to fail if the card has decided to
    crap out.

    > @@ -479,6 +482,13 @@ static void sdhci_prepare_data(struct sdhci_host *host, struct mmc_data *data)
    > break;
    > }
    > + /*
    > + * Compensate for an off-by-one error in the CaFe hardware; otherwise,
    > + * a too-small count gives us interrupt timeouts.
    > + */

    Same issue with "CaFE" as the previous patch.

    -- Pierre Ossman

    WARNING: This correspondence is being monitored by the
    Swedish government. Make sure your server uses encryption
    for SMTP traffic and consider using PGP for end-to-end
    [unhandled content-type:application/pgp-signature]
     \ /
      Last update: 2008-06-27 19:33    [W:0.025 / U:29.320 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site