All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thierry Reding <thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>
To: Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
Cc: "Terje Bergström"
	<tbergstrom-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
	"linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH 1/2] ARM: tegra: Add Tegra20 host1x support
Date: Wed, 14 Nov 2012 21:04:15 +0100	[thread overview]
Message-ID: <20121114200415.GA10335@avionic-0098.mockup.avionic-design.de> (raw)
In-Reply-To: <50A3C485.7080704-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>

[-- Attachment #1: Type: text/plain, Size: 2793 bytes --]

On Wed, Nov 14, 2012 at 09:19:17AM -0700, Stephen Warren wrote:
> On 11/14/2012 03:54 AM, Thierry Reding wrote:
> > On Wed, Nov 14, 2012 at 12:23:42PM +0200, Terje Bergström wrote:
> >> On 14.11.2012 10:49, Thierry Reding wrote:
> >>> Can you find out how the host1x clock is setup without this
> >>> change? I was told that freezes can occur when you try to
> >>> access the registers without the host1x clock being enabled.
> >>> However, the host1x driver should take care to properly setup
> >>> the clock.
> >>> 
> >>> To find out if the non-running clock is the issue, can you try
> >>> to patch that line and make the final element true instead of
> >>> false? That should enable the clock on boot so that it should
> >>> always be running.
> >> 
> >> I tried with fastboot and U-Boot, and whenever that line is
> >> there, kernel boot will halt at nvhost init. Same happens if I
> >> just change the false to true.
> >> 
> >> nvhost will enable the clock and disable as it need. Also, part
> >> of host1x initialization did proceed, but it ended up hanging
> >> after a few registers were initialized. So it's not a case of
> >> host1x being off, but host1x hanging after a while.
> >> 
> >> If I change this line to:
> >> 
> >> { "host1x",     "pll_p",        216000000,      false },
> >> 
> >> it will also work properly. It looks like we have some problem
> >> with pll_c in Tegra20, or clock configuration with your patch. In
> >> Tegra30, pll_c with 144MHz seems to work fine, but on Tegra20, it
> >> doesn't.
> >> 
> >> In internal kernel, we use pll_c for host1x, so hardware
> >> shouldn't be the problem here.
> > 
> > I suppose that if things work properly without this line, then we
> > should probably just drop it. Stephen, any objections?
> 
> I'd rather initialize it explicitly. If setting it to 216MHz works
> fine as Terje indicated, we may as well just do that.
> 
> I suspect the issue with the original code:
> 
> > { "host1x",     "pll_c",        144000000,      false },
> 
> ... is that perhaps the requested 144MHz can't be generated from
> pll_c's 600MHz rate, since there's a simple U7.1 divider there (you
> could get 120, 133.333, 150), so the clock ends up being programmed to
> some incorrect value. In the pll_p/216MHz case, pll_p is programmed to
> generate 216MHz anyway, so requesting the same rate for host1x yields
> a divider of 1 exactly which works fine.

According to tegra20_clocks_data.c, the maximum clock frequency for
host1x is 166 MHz, so 216 is probably not a good idea. 150 MHz sounds
sensible, though.

I was going to send a new version of the patch set tonight, but I'll
wait until I can test it tomorrow and once Terje has reported back that
things work fine.

Thierry

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Thierry Reding <thierry.reding@avionic-design.de>
To: Stephen Warren <swarren@wwwdotorg.org>
Cc: "Terje Bergström" <tbergstrom@nvidia.com>,
	"linux-tegra@vger.kernel.org" <linux-tegra@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 1/2] ARM: tegra: Add Tegra20 host1x support
Date: Wed, 14 Nov 2012 21:04:15 +0100	[thread overview]
Message-ID: <20121114200415.GA10335@avionic-0098.mockup.avionic-design.de> (raw)
In-Reply-To: <50A3C485.7080704@wwwdotorg.org>

[-- Attachment #1: Type: text/plain, Size: 2793 bytes --]

On Wed, Nov 14, 2012 at 09:19:17AM -0700, Stephen Warren wrote:
> On 11/14/2012 03:54 AM, Thierry Reding wrote:
> > On Wed, Nov 14, 2012 at 12:23:42PM +0200, Terje Bergström wrote:
> >> On 14.11.2012 10:49, Thierry Reding wrote:
> >>> Can you find out how the host1x clock is setup without this
> >>> change? I was told that freezes can occur when you try to
> >>> access the registers without the host1x clock being enabled.
> >>> However, the host1x driver should take care to properly setup
> >>> the clock.
> >>> 
> >>> To find out if the non-running clock is the issue, can you try
> >>> to patch that line and make the final element true instead of
> >>> false? That should enable the clock on boot so that it should
> >>> always be running.
> >> 
> >> I tried with fastboot and U-Boot, and whenever that line is
> >> there, kernel boot will halt at nvhost init. Same happens if I
> >> just change the false to true.
> >> 
> >> nvhost will enable the clock and disable as it need. Also, part
> >> of host1x initialization did proceed, but it ended up hanging
> >> after a few registers were initialized. So it's not a case of
> >> host1x being off, but host1x hanging after a while.
> >> 
> >> If I change this line to:
> >> 
> >> { "host1x",     "pll_p",        216000000,      false },
> >> 
> >> it will also work properly. It looks like we have some problem
> >> with pll_c in Tegra20, or clock configuration with your patch. In
> >> Tegra30, pll_c with 144MHz seems to work fine, but on Tegra20, it
> >> doesn't.
> >> 
> >> In internal kernel, we use pll_c for host1x, so hardware
> >> shouldn't be the problem here.
> > 
> > I suppose that if things work properly without this line, then we
> > should probably just drop it. Stephen, any objections?
> 
> I'd rather initialize it explicitly. If setting it to 216MHz works
> fine as Terje indicated, we may as well just do that.
> 
> I suspect the issue with the original code:
> 
> > { "host1x",     "pll_c",        144000000,      false },
> 
> ... is that perhaps the requested 144MHz can't be generated from
> pll_c's 600MHz rate, since there's a simple U7.1 divider there (you
> could get 120, 133.333, 150), so the clock ends up being programmed to
> some incorrect value. In the pll_p/216MHz case, pll_p is programmed to
> generate 216MHz anyway, so requesting the same rate for host1x yields
> a divider of 1 exactly which works fine.

According to tegra20_clocks_data.c, the maximum clock frequency for
host1x is 166 MHz, so 216 is probably not a good idea. 150 MHz sounds
sensible, though.

I was going to send a new version of the patch set tonight, but I'll
wait until I can test it tomorrow and once Terje has reported back that
things work fine.

Thierry

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

  parent reply	other threads:[~2012-11-14 20:04 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-09 13:20 [PATCH 0/2] Device tree updates for host1x support Thierry Reding
2012-11-09 13:20 ` Thierry Reding
2012-11-09 13:20 ` [PATCH 1/2] ARM: tegra: Add Tegra20 " Thierry Reding
2012-11-13  7:45   ` Mark Zhang
     [not found]     ` <50A1FA7C.4010507-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-11-13  7:52       ` Thierry Reding
2012-11-13  7:52         ` Thierry Reding
     [not found]         ` <20121113075247.GB8409-RM9K5IK7kjIQXX3q8xo1gnVAuStQJXxyR5q1nwbD4aMs9pC9oP6+/A@public.gmane.org>
2012-11-13  8:00           ` Mark Zhang
2012-11-13  8:00             ` Mark Zhang
     [not found]             ` <50A1FE2F.8000107-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-11-13  8:04               ` Thierry Reding
2012-11-13  8:04                 ` Thierry Reding
2012-11-13  8:29                 ` Mark Zhang
     [not found]   ` <1352467202-27903-2-git-send-email-thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>
2012-11-12  9:39     ` Mark Zhang
2012-11-12  9:39       ` Mark Zhang
     [not found]       ` <50A0C3BF.90509-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-11-13  4:38         ` Mark Zhang
2012-11-13  4:38           ` Mark Zhang
     [not found]           ` <50A1CECA.3090804-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-11-13  6:41             ` Thierry Reding
2012-11-13  6:41               ` Thierry Reding
     [not found]               ` <20121113064135.GA31443-RM9K5IK7kjIQXX3q8xo1gnVAuStQJXxyR5q1nwbD4aMs9pC9oP6+/A@public.gmane.org>
2012-11-13  7:37                 ` Mark Zhang
2012-11-13  7:37                   ` Mark Zhang
2012-11-14  8:35     ` Terje Bergström
2012-11-14  8:35       ` Terje Bergström
     [not found]       ` <50A357D3.9080002-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-11-14  8:49         ` Thierry Reding
2012-11-14  8:49           ` Thierry Reding
     [not found]           ` <20121114084931.GA31837-RM9K5IK7kjIQXX3q8xo1gnVAuStQJXxyR5q1nwbD4aMs9pC9oP6+/A@public.gmane.org>
2012-11-14 10:23             ` Terje Bergström
2012-11-14 10:23               ` Terje Bergström
     [not found]               ` <50A3712E.7000104-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-11-14 10:54                 ` Thierry Reding
2012-11-14 10:54                   ` Thierry Reding
2012-11-14 16:19                   ` Stephen Warren
     [not found]                     ` <50A3C485.7080704-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-11-14 16:45                       ` Terje Bergström
2012-11-14 16:45                         ` Terje Bergström
     [not found]                         ` <50A3CAA3.2060908-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-11-14 18:12                           ` Stephen Warren
2012-11-14 18:12                             ` Stephen Warren
2012-11-14 20:04                       ` Thierry Reding [this message]
2012-11-14 20:04                         ` Thierry Reding
     [not found]                         ` <20121114200415.GA10335-RM9K5IK7kjIQXX3q8xo1gnVAuStQJXxyR5q1nwbD4aMs9pC9oP6+/A@public.gmane.org>
2012-11-14 20:15                           ` Stephen Warren
2012-11-14 20:15                             ` Stephen Warren
     [not found]                             ` <50A3FBFA.3080008-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-11-14 20:21                               ` Thierry Reding
2012-11-14 20:21                                 ` Thierry Reding
2012-11-15  6:56                           ` Terje Bergström
2012-11-15  6:56                             ` Terje Bergström
2012-11-15  7:11                             ` Thierry Reding
2012-11-14 15:01         ` Thierry Reding
2012-11-14 15:01           ` Thierry Reding
     [not found]           ` <20121114150125.GA11050-RM9K5IK7kjIQXX3q8xo1gnVAuStQJXxyR5q1nwbD4aMs9pC9oP6+/A@public.gmane.org>
2012-11-14 15:29             ` Terje Bergström
2012-11-14 15:29               ` Terje Bergström
     [not found]               ` <50A3B8DD.7010607-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-11-14 15:33                 ` Thierry Reding
2012-11-14 15:33                   ` Thierry Reding
2012-11-09 13:20 ` [PATCH 2/2] ARM: tegra: Add Tegra30 " Thierry Reding
     [not found]   ` <1352467202-27903-3-git-send-email-thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>
2012-11-13  4:37     ` Mark Zhang
2012-11-13  4:37       ` Mark Zhang
2012-11-13  7:45     ` Mark Zhang
2012-11-13  7:45       ` Mark Zhang
     [not found]       ` <50A1FAB0.8040700-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-11-13  7:53         ` Thierry Reding
2012-11-13  7:53           ` Thierry Reding
     [not found] ` <1352467202-27903-1-git-send-email-thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>
2012-11-09 17:34   ` [PATCH 0/2] Device tree updates for " Stephen Warren
2012-11-09 17:34     ` Stephen Warren
     [not found]     ` <509D3EB1.8040703-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-11-09 18:44       ` Thierry Reding
2012-11-09 18:44         ` Thierry Reding
     [not found]         ` <20121109184409.GB7663-RM9K5IK7kjIQXX3q8xo1gnVAuStQJXxyR5q1nwbD4aMs9pC9oP6+/A@public.gmane.org>
2012-11-09 21:10           ` Stephen Warren
2012-11-09 21:10             ` Stephen Warren
     [not found]             ` <509D7145.9000203-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-11-15  8:21               ` Prashant Gaikwad
2012-11-15  8:21                 ` Prashant Gaikwad
2012-11-15  8:50                 ` Thierry Reding

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=20121114200415.GA10335@avionic-0098.mockup.avionic-design.de \
    --to=thierry.reding-rm9k5ik7kjkj5m59nbduvrnah6klmebb@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org \
    --cc=tbergstrom-DDmLM1+adcrQT0dZR+AlfA@public.gmane.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 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.