All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anton Vorontsov <cbouatmailru@gmail.com>
To: Lin Mac <mkl0301@gmail.com>
Cc: htejun@gmail.com, linux-arm-kernel@lists.infradead.org,
	jgarzik@pobox.com, linux-ide@vger.kernel.org
Subject: Re: [PATCH 1/1] ARM: cns3xxx: ahci: Fixup for softwreset failures with direct connected disks with CONFIG_SATA_PMP enabled.
Date: Wed, 22 Dec 2010 14:58:08 +0300	[thread overview]
Message-ID: <20101222115808.GA458@oksana.dev.rtsoft.ru> (raw)
In-Reply-To: <AANLkTi=Lk1vAxxTJQpXNvtbLCFs0Gy+ZAJadxv_mLQ6C@mail.gmail.com>

On Wed, Dec 22, 2010 at 05:27:20PM +0800, Lin Mac wrote:
[...]
> > This is not good because cns3xxx_pwr_*() calls aren't thread-safe.
> > We must use them only from the "single-threaded" platform code,
> > i.e. very early.
> > Once we add proper clocks (clkapi) and power management (regulators)
> > support for CNS3xxx, we may move this into ahci->init() callback.
> Almost every device driver needs to change those power/clk/reset bits,
> and it's strange to enable everything on init phase. BTW, the  EHCI
> and OHCI that I sent previously also used these cns3xxx_pwr_*() calls.
> 
> Would they be supported in near future? If not, I would like look into those.

Currently I do not work on adding these features, so feel free
look into it.

> > Plus, unfortunately this patch breaks build when AHCI_PLATFORM is
> > set to =m.
> > arch/arm/mach-cns3xxx/built-in.o: In function 'cns3xxx_ahci_softreset':
> > cns3420vb.c:(.text+0x36c): undefined reference to 'ahci_do_softreset'
> > cns3420vb.c:(.text+0x390): undefined reference to 'ahci_do_softreset'
> > cns3420vb.c:(.text+0x3a0): undefined reference to 'ahci_check_ready'
> > arch/arm/mach-cns3xxx/built-in.o:(.data+0x35c): undefined reference to 'ahci_ops'
> > make: *** [.tmp_vmlinux1] Error 1
> Sorry that I didn't notice this. I was trying to reuse ahci-platform
> as possible.
> Building platform device as module seems strange to me, therefore I
> would add a new ahci-platform alike platform driver.

Yep. But please make it similar to the SDHCI platform driver
approach. I.e., see these commits:

commit 20b1597bcf4a76ccab232fa032f5f9ad30069167
Author: Anton Vorontsov <avorontsov@mvista.com>
Date:   Tue Aug 10 18:01:49 2010 -0700

    sdhci-pltfm: add support for CNS3xxx SoC devices

commit 845e3f4f06f9b1d34f39601cb6b7abfb8f40653c
Author: Anton Vorontsov <avorontsov@mvista.com>
Date:   Tue Aug 10 18:01:49 2010 -0700

    sdhci-pltfm: reorganize Makefile entries to support SoC devices

commit 515033f97c0b5a1bce13fa93e09704d95b44f376
Author: Anton Vorontsov <avorontsov@mvista.com>
Date:   Tue Aug 10 18:01:47 2010 -0700

    sdhci-pltfm: switch to module device table matching

Thanks,

-- 
Anton Vorontsov
Email: cbouatmailru@gmail.com

WARNING: multiple messages have this Message-ID (diff)
From: cbouatmailru@gmail.com (Anton Vorontsov)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/1] ARM: cns3xxx: ahci: Fixup for softwreset failures with direct connected disks with CONFIG_SATA_PMP enabled.
Date: Wed, 22 Dec 2010 14:58:08 +0300	[thread overview]
Message-ID: <20101222115808.GA458@oksana.dev.rtsoft.ru> (raw)
In-Reply-To: <AANLkTi=Lk1vAxxTJQpXNvtbLCFs0Gy+ZAJadxv_mLQ6C@mail.gmail.com>

On Wed, Dec 22, 2010 at 05:27:20PM +0800, Lin Mac wrote:
[...]
> > This is not good because cns3xxx_pwr_*() calls aren't thread-safe.
> > We must use them only from the "single-threaded" platform code,
> > i.e. very early.
> > Once we add proper clocks (clkapi) and power management (regulators)
> > support for CNS3xxx, we may move this into ahci->init() callback.
> Almost every device driver needs to change those power/clk/reset bits,
> and it's strange to enable everything on init phase. BTW, the  EHCI
> and OHCI that I sent previously also used these cns3xxx_pwr_*() calls.
> 
> Would they be supported in near future? If not, I would like look into those.

Currently I do not work on adding these features, so feel free
look into it.

> > Plus, unfortunately this patch breaks build when AHCI_PLATFORM is
> > set to =m.
> > arch/arm/mach-cns3xxx/built-in.o: In function 'cns3xxx_ahci_softreset':
> > cns3420vb.c:(.text+0x36c): undefined reference to 'ahci_do_softreset'
> > cns3420vb.c:(.text+0x390): undefined reference to 'ahci_do_softreset'
> > cns3420vb.c:(.text+0x3a0): undefined reference to 'ahci_check_ready'
> > arch/arm/mach-cns3xxx/built-in.o:(.data+0x35c): undefined reference to 'ahci_ops'
> > make: *** [.tmp_vmlinux1] Error 1
> Sorry that I didn't notice this. I was trying to reuse ahci-platform
> as possible.
> Building platform device as module seems strange to me, therefore I
> would add a new ahci-platform alike platform driver.

Yep. But please make it similar to the SDHCI platform driver
approach. I.e., see these commits:

commit 20b1597bcf4a76ccab232fa032f5f9ad30069167
Author: Anton Vorontsov <avorontsov@mvista.com>
Date:   Tue Aug 10 18:01:49 2010 -0700

    sdhci-pltfm: add support for CNS3xxx SoC devices

commit 845e3f4f06f9b1d34f39601cb6b7abfb8f40653c
Author: Anton Vorontsov <avorontsov@mvista.com>
Date:   Tue Aug 10 18:01:49 2010 -0700

    sdhci-pltfm: reorganize Makefile entries to support SoC devices

commit 515033f97c0b5a1bce13fa93e09704d95b44f376
Author: Anton Vorontsov <avorontsov@mvista.com>
Date:   Tue Aug 10 18:01:47 2010 -0700

    sdhci-pltfm: switch to module device table matching

Thanks,

-- 
Anton Vorontsov
Email: cbouatmailru at gmail.com

  reply	other threads:[~2010-12-22 11:58 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-04 16:43 [PATCH 1/1] ARM: cns3xxx: ahci: Fixup for softwreset failures with direct connected disks with CONFIG_SATA_PMP enabled mkl0301
2010-12-04 16:43 ` mkl0301 at gmail.com
2010-12-20 17:02 ` Anton Vorontsov
2010-12-20 17:02   ` Anton Vorontsov
2010-12-22  9:27   ` Lin Mac
2010-12-22  9:27     ` Lin Mac
2010-12-22 11:58     ` Anton Vorontsov [this message]
2010-12-22 11:58       ` Anton Vorontsov

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=20101222115808.GA458@oksana.dev.rtsoft.ru \
    --to=cbouatmailru@gmail.com \
    --cc=htejun@gmail.com \
    --cc=jgarzik@pobox.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-ide@vger.kernel.org \
    --cc=mkl0301@gmail.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.