[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <64B2BB18-32DC-4B98-95D6-F203F74040D5@freescale.com>
Date: Tue, 13 Oct 2009 12:22:38 -0500
From: Andy Fleming <afleming@...escale.com>
To: David Miller <davem@...emloft.net>
Cc: avorontsov@...mvista.com, dai.haruki@...escale.com,
scottwood@...escale.com, linuxppc-dev@...abs.org,
netdev@...r.kernel.org
Subject: Re: [PATCH 0/8] gianfar: Add support for hibernation
On Oct 13, 2009, at 1:57 AM, David Miller wrote:
> From: Anton Vorontsov <avorontsov@...mvista.com>
> Date: Mon, 12 Oct 2009 20:00:00 +0400
>
>> Here are few patches that add support for hibernation for gianfar
>> driver.
>>
>> Technically, we could just do gfar_close() and then gfar_enet_open()
>> sequence to restore gianfar functionality after hibernation, but
>> close/open does so many unneeded things (e.g. BDs buffers freeing and
>> allocation, IRQ freeing and requesting), that I felt it would be much
>> better to cleanup and refactor some code to make the hibernation [and
>> not only hibernation] code a little bit prettier.
>
> I applied all of this, it's a really nice patch set. If there are any
> problems we can deal with it using follow-on fixups.
>
> I noticed something, in patch #3 where you remove the spurious wrap
> bit setting in startup_gfar(). It looks like that was not only
> spurious but it was doing it wrong too.
>
> It's writing garbage into the status word, because it's not using the
> BD_LFLAG() macro to shift the value up 16 bits.
>
No, it was fine (though made unnecessary by other patches). The BD
has a union:
struct {
u16 status; /* Status Fields */
u16 length; /* Buffer length */
};
u32 lstatus;
so when you write "lstatus", you need to use the BD_LFLAG() macro, but
when you write "status", you are just setting the status bits.
Andy
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists