lkml.org 
[lkml]   [2006]   [Feb]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] Fixup ahci suspend / resume
    On Tue, Feb 28 2006, Jeff Garzik wrote:
    > Hannes Reinecke wrote:
    > >From: Hannes Reinecke <hare@suse.de>
    > >Subject: AHCI suspend / resume fixes.
    > >
    > >The current ahci driver has the problem that it doesn't resume properly.
    > >Or rather, that resuming is unstable.
    > >Reason being is that AHCI has 4 registers containing the DMA address it
    > >should write things to. Of course there is no guarantee that Linux has
    > >assigned the same address to the DMA area across reboots.
    > >So we should better re-initialize those registers after resume.
    > >
    > >The patch also improves the port_start / port_stop routines to be more
    > >closely modelled after the spec. This also avoids a nasty msleep(500)
    > >during initialisation.
    > >
    > >Signed-off-by: Hannes Reinecke <hare@suse.de>
    >
    >
    > Seems sane at first glance, but can you please regenerate this against
    > libata-dev.git#upstream ?
    >
    > Upstream 2.6.x doesn't care at all about suspend/resume, and AHCI has
    > seen several modifications in #upstream that are waiting for 2.6.17.

    Upstream 2.6.x certainly _does_ care about suspend/resume! To me, this
    patch seems simple enough to be included. It's little more than
    splitting the register init out form the port_stop/start functions and
    calling them on resume/suspend appropriately.

    --
    Jens Axboe

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2006-02-28 16:22    [W:0.021 / U:0.208 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site