public inbox for linux-can@vger.kernel.org
 help / color / mirror / Atom feed
From: Oliver Hartkopp <socketcan@hartkopp.net>
To: Kurt Van Dijck <kurt.van.dijck@eia.be>
Cc: "Eric Bénard" <eric@eukrea.com>,
	linux-can@vger.kernel.org, "Sascha Hauer" <kernel@pengutronix.de>
Subject: Re: [PATCH] can: flexcan: add PM support
Date: Wed, 09 May 2012 16:35:09 +0200	[thread overview]
Message-ID: <4FAA809D.8070502@hartkopp.net> (raw)
In-Reply-To: <20120509081650.GA426@vandijck-laurijssen.be>

On 09.05.2012 10:16, Kurt Van Dijck wrote:

> On Tue, May 08, 2012 at 08:34:56PM +0200, Marc Kleine-Budde wrote:
>> On 05/08/2012 07:38 PM, Oliver Hartkopp wrote:
>>> On 08.05.2012 19:14, Eric Bénard wrote:
>>>
>>>> Le Tue, 08 May 2012 17:46:09 +0200,
>>>> Marc Kleine-Budde <mkl@pengutronix.de> a écrit :
>>>>
>>>>> On 05/08/2012 05:30 PM, Eric Bénard wrote:
>>>>>> Hi Marc,
>>>>>>
>>>>>> Le Tue, 08 May 2012 17:18:34 +0200,
>>>>>> Marc Kleine-Budde <mkl@pengutronix.de> a écrit :
>>>>>>
>>>>>>> On 05/08/2012 05:12 PM, Eric Bénard wrote:
>>>>>>>> tested on an i.MX257
>>>>>>>
>>>>>>> What about the transceiver? Does is make sense to switch it off, too?
>>>>>>>
>>>>>> this could make sense on platform which have a transceiver with an
>>>>>> enable input. I can add flexcan_transceiver_switch after/before
>>>>>> flexcan_chip_disable/enable but won't be able to test that feature.
>>>>>
>>>>> I looked at two ethernet drivers: ethernet/intel/ixgbe/ixgbe_main.c and
>>>>> ethernet/intel/ixgbe/ixgbe_main.c and AFAICS they basically do the same
>>>>> as in open/close. (btw: the flexcan driver switches the transceiver
>>>>> on/off on open/close.) I haven't implemented any network driver pm yet,
>>>>> but what is a driver supposed to do in suspend/resume?
>>>>>
>>>> concerning the transceiver : that depends if you need to resume when
>>>> receiving a message on the CAN bus in which case you can't disable the
>>>> transceiver (btw, I have an other patch which enable wakeup when
>>>> receiving a message on the CAN bus, but I need to clean and test it
>>>> again).
>>>
>>>
>>> I wonder if you mix up the enabling/disabling of the CAN transceiver (trx)
>>> with the entire system power management.
>>>
>>> E.g. if you take the TJA1054A as an example, you can switch the trx into a
>>> mode that switches off the power supply (INH-line) in order to wake up with a
>>> received CAN frame, which switches on the power supply and boots the system.
>>>
>>> Even if you don't switch the power supply with the INH pin the trx wakes up
>>> with CAN traffic in this mode.
>>>
>>> To me switching the trx modes only makes sense to implement system power
>>> management states. IMO there's no need to switch them when setting the
>>> interface to up/down state. Or did i miss anything?
> * the transceiver consumes power when on, while the netif if off.
>   That just feels a bit stupid.
> * From outside, the wires looks 'active', while there's just noone listening.
> 
> For these 2 arguments, I would think a regular system switches them off too.looks
> 
>>
>> In the current implementation you can register a callback via
>> platform_data to enable/disable the transceiver. It's up to the board to
>> do something useful with it.
> Like in: The driver must call the callback, and the board can act upon this.
>>
>> I think for now I'll take Eric's patch as it is, until we've implemented
>> something more complicated to support automotive style transceivers :)
> 
> To implement something more complicated:
> http://www.mail-archive.com/socketcan-core@lists.berlios.de/msg00269.html
> 


Wow - indeed i was not remembering your effort for these CAN transceiver class
support.

It looks interesting. Btw. i would name all the transceiver stuff with 'trx'
instead of 'tr' (see http://www.acronymfinder.com/TRX.html) and i think there
are some more modes than

+
+/*
+ * CAN transceiver modes
+ */
+#define CANTR_MODE_OFF 0
+#define CANTR_MODE_ON  1
+

especially for automotive power switching.

Additionally a netlink config interface is preferred these days too.

Btw. do you plan to pick the trx support up sometime?

Regards,
Oliver

  reply	other threads:[~2012-05-09 14:35 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-08 15:12 [PATCH] can: flexcan: add PM support Eric Bénard
2012-05-08 15:18 ` Marc Kleine-Budde
2012-05-08 15:30   ` Eric Bénard
2012-05-08 15:46     ` Marc Kleine-Budde
2012-05-08 17:14       ` Eric Bénard
2012-05-08 17:38         ` Oliver Hartkopp
2012-05-08 18:02           ` Eric Bénard
2012-05-08 18:34           ` Marc Kleine-Budde
2012-05-09  8:16             ` Kurt Van Dijck
2012-05-09 14:35               ` Oliver Hartkopp [this message]
2012-05-09 14:53                 ` [PATCH] can: trx support Kurt Van Dijck
2012-05-08 19:09 ` [PATCH] can: flexcan: add PM support Marc Kleine-Budde

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4FAA809D.8070502@hartkopp.net \
    --to=socketcan@hartkopp.net \
    --cc=eric@eukrea.com \
    --cc=kernel@pengutronix.de \
    --cc=kurt.van.dijck@eia.be \
    --cc=linux-can@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox