All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kishon Vijay Abraham I <kishon@ti.com>
To: Loc Ho <lho@apm.com>
Cc: Arnd Bergmann <arnd@arndb.de>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	Olof Johansson <olof@lixom.net>,
	Suman Tripathi <stripathi@apm.com>,
	linux-scsi@vger.kernel.org, Jon Masters <jcm@redhat.com>,
	Tejun Heo <tj@kernel.org>, Tuan Phan <tphan@apm.com>
Subject: Re: [PATCH v2 3/5] ata: Add APM X-Gene SATA driver
Date: Wed, 13 Nov 2013 15:01:21 +0530	[thread overview]
Message-ID: <528346E9.2040909@ti.com> (raw)
In-Reply-To: <CAPw-ZT=0_BNdxyGZsrTB_UUdF=7Ft+eR_K5eMciKYiJ88F3kHQ@mail.gmail.com>

Hi,

On Wednesday 13 November 2013 11:32 AM, Loc Ho wrote:
> Hi,
> 
> I need an method to tell the PHY layer to go to an specific speed -
> Gen2 or Gen1. Consider it is an limitation of our PHY. This is done
> after link up.

After changing the link speed, do you have to go through the entire re-init
sequence? I'm thinking if link speed should be modelled as an attribute of PHY
and allow the controller to set the link speed (phy_set_link_speed). After that
the controller should do the initialization sequence again by calling phy_init?
Open for suggestions though..

Please do not top post :-)

Thanks
Kishon
> 
> -Loc
> 
> On Tue, Nov 12, 2013 at 9:55 PM, Kishon Vijay Abraham I <kishon@ti.com> wrote:
>> Hi,
>>
>> On Wednesday 13 November 2013 11:03 AM, Loc Ho wrote:
>>> Hi,
>>>
>>> If I need to call a function into the PHY driver to say force an
>>> specific speed, how would one do this? I notice the USB have a bunch
>>
>> There are a bunch of *ops* currently available in the PHY framework which you
>> can use like phy_init, phy_exit, phy_power_on, phy_power_off. That should be
>> good enough IMO. If you need any other ops we can have a discussion here.
>>
>> Thanks
>> Kishon
>>> of functions. Would I need to introduce an structure for SATA as well
>>> that have a number of required functions that upper layer can call?
>>>
>>> -Loc
>>>
>>> On Tue, Nov 12, 2013 at 9:20 PM, Kishon Vijay Abraham I <kishon@ti.com> wrote:
>>>> Hi,
>>>>
>>>> On Wednesday 13 November 2013 04:09 AM, Loc Ho wrote:
>>>>> Hi Arnd,
>>>>>
>>>>> I looked at the PHY generic framework and come across this statement
>>>>> below. Our SATA PHY is embedded into the SoC. Should I ignore this
>>>>
>>>> Is your PHY embedded into the SoC or embedded into the SATA controller? If it's
>>>> within the SoC but not embedded into the SATA controller, you can use PHY
>>>> framework as the PHY is in a different IP and has a separate address space for
>>>> itself.
>>>> If it's within the SATA controller, then you might very well implement the PHY
>>>> logic in your SATA controller driver itself.
>>>>> statement below and implement the PHY driver using this framework?
>>>>>
>>>>> +This framework will be of use only to devices that use external PHY (PHY
>>>>> +functionality is not embedded within the controller).
>>>>
>>>> It means for PHYs embedded within the SATA controller and not within the SoC ;-)
>>>>
>>>> Thanks
>>>> Kishon
>>>>>
>>>>> -Loc
>>>>>
>>>>>
>>>>> On Tue, Nov 12, 2013 at 5:11 AM, Arnd Bergmann <arnd@arndb.de> wrote:
>>>>>> On Tuesday 12 November 2013, Loc Ho wrote:
>>>>>>> Hi Arnd/Olof,
>>>>>>>
>>>>>>> I looked over the phy code for USB and NET. There isn't such PHY
>>>>>>> infrastructure for SATA from what I can tell. It seems like I will
>>>>>>> need to put this all together. I am thinking about porting the USB
>>>>>>> version over (with changes for SATA) and put it under
>>>>>>> "./drivers/ata/phy". Any suggestion?
>>>>>>
>>>>>> Please have a look at the patches under the subject "Generic PHY Framework"
>>>>>> posted by Kishon Vijay Abraham. I thought they would have made it in
>>>>>> by now, but I have not followed the recent kernels closely since I am
>>>>>> on parental leave at the moment.
>>>>>>
>>>>>> IIRC they should unify USB, SATA and other PHY codes, but not network.
>>>>>>
>>>>>>         Arnd
>>>>
>>


WARNING: multiple messages have this Message-ID (diff)
From: kishon@ti.com (Kishon Vijay Abraham I)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 3/5] ata: Add APM X-Gene SATA driver
Date: Wed, 13 Nov 2013 15:01:21 +0530	[thread overview]
Message-ID: <528346E9.2040909@ti.com> (raw)
In-Reply-To: <CAPw-ZT=0_BNdxyGZsrTB_UUdF=7Ft+eR_K5eMciKYiJ88F3kHQ@mail.gmail.com>

Hi,

On Wednesday 13 November 2013 11:32 AM, Loc Ho wrote:
> Hi,
> 
> I need an method to tell the PHY layer to go to an specific speed -
> Gen2 or Gen1. Consider it is an limitation of our PHY. This is done
> after link up.

After changing the link speed, do you have to go through the entire re-init
sequence? I'm thinking if link speed should be modelled as an attribute of PHY
and allow the controller to set the link speed (phy_set_link_speed). After that
the controller should do the initialization sequence again by calling phy_init?
Open for suggestions though..

Please do not top post :-)

Thanks
Kishon
> 
> -Loc
> 
> On Tue, Nov 12, 2013 at 9:55 PM, Kishon Vijay Abraham I <kishon@ti.com> wrote:
>> Hi,
>>
>> On Wednesday 13 November 2013 11:03 AM, Loc Ho wrote:
>>> Hi,
>>>
>>> If I need to call a function into the PHY driver to say force an
>>> specific speed, how would one do this? I notice the USB have a bunch
>>
>> There are a bunch of *ops* currently available in the PHY framework which you
>> can use like phy_init, phy_exit, phy_power_on, phy_power_off. That should be
>> good enough IMO. If you need any other ops we can have a discussion here.
>>
>> Thanks
>> Kishon
>>> of functions. Would I need to introduce an structure for SATA as well
>>> that have a number of required functions that upper layer can call?
>>>
>>> -Loc
>>>
>>> On Tue, Nov 12, 2013 at 9:20 PM, Kishon Vijay Abraham I <kishon@ti.com> wrote:
>>>> Hi,
>>>>
>>>> On Wednesday 13 November 2013 04:09 AM, Loc Ho wrote:
>>>>> Hi Arnd,
>>>>>
>>>>> I looked at the PHY generic framework and come across this statement
>>>>> below. Our SATA PHY is embedded into the SoC. Should I ignore this
>>>>
>>>> Is your PHY embedded into the SoC or embedded into the SATA controller? If it's
>>>> within the SoC but not embedded into the SATA controller, you can use PHY
>>>> framework as the PHY is in a different IP and has a separate address space for
>>>> itself.
>>>> If it's within the SATA controller, then you might very well implement the PHY
>>>> logic in your SATA controller driver itself.
>>>>> statement below and implement the PHY driver using this framework?
>>>>>
>>>>> +This framework will be of use only to devices that use external PHY (PHY
>>>>> +functionality is not embedded within the controller).
>>>>
>>>> It means for PHYs embedded within the SATA controller and not within the SoC ;-)
>>>>
>>>> Thanks
>>>> Kishon
>>>>>
>>>>> -Loc
>>>>>
>>>>>
>>>>> On Tue, Nov 12, 2013 at 5:11 AM, Arnd Bergmann <arnd@arndb.de> wrote:
>>>>>> On Tuesday 12 November 2013, Loc Ho wrote:
>>>>>>> Hi Arnd/Olof,
>>>>>>>
>>>>>>> I looked over the phy code for USB and NET. There isn't such PHY
>>>>>>> infrastructure for SATA from what I can tell. It seems like I will
>>>>>>> need to put this all together. I am thinking about porting the USB
>>>>>>> version over (with changes for SATA) and put it under
>>>>>>> "./drivers/ata/phy". Any suggestion?
>>>>>>
>>>>>> Please have a look at the patches under the subject "Generic PHY Framework"
>>>>>> posted by Kishon Vijay Abraham. I thought they would have made it in
>>>>>> by now, but I have not followed the recent kernels closely since I am
>>>>>> on parental leave at the moment.
>>>>>>
>>>>>> IIRC they should unify USB, SATA and other PHY codes, but not network.
>>>>>>
>>>>>>         Arnd
>>>>
>>

  reply	other threads:[~2013-11-13  9:32 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-09  7:00 [PATCH v2 0/5] ata: Add APM X-Gene SATA controller support Loc Ho
2013-11-09  7:00 ` Loc Ho
2013-11-09  7:00 ` [PATCH v2 1/5] ata: Export AHCI library functions required by APM X-Gene SATA driver Loc Ho
2013-11-09  7:00   ` Loc Ho
2013-11-09  7:00   ` [PATCH v2 2/5] arm64: Add APM X-Gene DTS entry for SATA controllers Loc Ho
2013-11-09  7:00     ` Loc Ho
2013-11-09  7:00     ` [PATCH v2 3/5] ata: Add APM X-Gene SATA driver Loc Ho
2013-11-09  7:00       ` Loc Ho
2013-11-09  7:00       ` [PATCH v2 4/5] ata: Add APM X-Gene SATA serdes functions Loc Ho
2013-11-09  7:00         ` Loc Ho
2013-11-09  7:00         ` [PATCH v2 5/5] Documentation: Add documentation for APM X-Gene SATA DTS binding Loc Ho
2013-11-09  7:00           ` Loc Ho
2013-11-10 20:39           ` Arnd Bergmann
2013-11-10 20:39             ` Arnd Bergmann
2013-11-11 17:50             ` Loc Ho
2013-11-11 17:50               ` Loc Ho
2013-11-11 19:06               ` Arnd Bergmann
2013-11-11 19:06                 ` Arnd Bergmann
2013-11-10 21:06       ` [PATCH v2 3/5] ata: Add APM X-Gene SATA driver Arnd Bergmann
2013-11-10 21:06         ` Arnd Bergmann
2013-11-10 22:28       ` Olof Johansson
2013-11-10 22:28         ` Olof Johansson
2013-11-11  8:54         ` Arnd Bergmann
2013-11-11  8:54           ` Arnd Bergmann
2013-11-12  5:19           ` Loc Ho
2013-11-12  5:19             ` Loc Ho
2013-11-12 13:11             ` Arnd Bergmann
2013-11-12 13:11               ` Arnd Bergmann
2013-11-12 22:39               ` Loc Ho
2013-11-12 22:39                 ` Loc Ho
2013-11-13  5:20                 ` Kishon Vijay Abraham I
2013-11-13  5:20                   ` Kishon Vijay Abraham I
2013-11-13  5:33                   ` Loc Ho
2013-11-13  5:33                     ` Loc Ho
2013-11-13  5:55                     ` Kishon Vijay Abraham I
2013-11-13  5:55                       ` Kishon Vijay Abraham I
2013-11-13  6:02                       ` Loc Ho
2013-11-13  6:02                         ` Loc Ho
2013-11-13  9:31                         ` Kishon Vijay Abraham I [this message]
2013-11-13  9:31                           ` Kishon Vijay Abraham I
2013-11-13 16:06                           ` Loc Ho
2013-11-13 16:06                             ` Loc Ho
2013-11-12 15:40 ` [PATCH v2 0/5] ata: Add APM X-Gene SATA controller support Bartlomiej Zolnierkiewicz
2013-11-12 15:40   ` Bartlomiej Zolnierkiewicz
2013-11-12 16:34   ` Sergei Shtylyov
2013-11-12 16:34     ` Sergei Shtylyov
2013-11-12 17:30     ` Bartlomiej Zolnierkiewicz
2013-11-12 17:30       ` Bartlomiej Zolnierkiewicz

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=528346E9.2040909@ti.com \
    --to=kishon@ti.com \
    --cc=arnd@arndb.de \
    --cc=jcm@redhat.com \
    --cc=lho@apm.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=olof@lixom.net \
    --cc=stripathi@apm.com \
    --cc=tj@kernel.org \
    --cc=tphan@apm.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.