All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Terje Bergström" <tbergstrom-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
To: Thierry Reding
	<thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>
Cc: "linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Arto Merilainen
	<amerilainen-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Subject: Re: [PATCH 2/6] ARM: tegra: Add auxiliary data for nvhost
Date: Sat, 24 Nov 2012 09:09:11 +0200	[thread overview]
Message-ID: <50B07297.3090001@nvidia.com> (raw)
In-Reply-To: <20121123234527.GE21555-RM9K5IK7kjIyiCvfTdI0JKcOhU4Rzj621B7CTYaBSLdn68oJJulU0Q@public.gmane.org>

On 24.11.2012 01:45, Thierry Reding wrote:
> I think I remember a discussion about this back when we designed the DT
> bindings. The result I seem to remember was that since syncpoints can be
> arbitrarily assigned they wouldn't have to be statically allocated at
> compile time.
> Instead we could just have them allocated when a host1x client registers
> with host1x. Or have each client request its required syncpoints
> explicitly. The latter would make it trivial to associate a label with
> it.

True. I didn't yet have time to implement dynamic allocation and I
didn't want to wait for that to get the code out. I'll try to find time
for that.

> 
>> +
>> +static struct host1x_device_info host1x_info = {
>> +	.nb_channels	= 8,
>> +	.nb_pts		= 32,
>> +	.nb_mlocks	= 16,
>> +	.nb_bases	= 8,
>> +	.syncpt_names	= host1x_syncpt_names,
>> +	.client_managed	= NVSYNCPTS_CLIENT_MANAGED,
>> +};
>> +
>> +static struct nvhost_device_data tegra_host1x_info = {
>> +	.clocks = { {"host1x", UINT_MAX} },
>> +	NVHOST_MODULE_NO_POWERGATE_IDS,
>> +	.private_data = &host1x_info,
>> +};
>> +
>> +static struct nvhost_device_data tegra_gr2d_info = {
>> +	.index		= 2,
>> +	.syncpts	= BIT(NVSYNCPT_2D_0) | BIT(NVSYNCPT_2D_1),
>> +	.clocks		= { {"gr2d", UINT_MAX, true}, {"epp", UINT_MAX, true} },
>> +	NVHOST_MODULE_NO_POWERGATE_IDS,
>> +	.clockgate_delay = 0,
>> +	.serialize	= true,
>> +};
> 
> Again, this doesn't seem like it should be statically configured in the
> board data.

The host1x specifics (number of channels, pts etc) are description of
hardware, so they could go to a device tree binding.

The allocation of sync points is a software policy that could be handled
by the driver.

Clocks are waiting for the general discussion about clock bindings in
device trees, but that data is SoC specific, so that's why I've put that
in board data.

Clock gating policy is software feature that could be in driver.

>> diff --git a/arch/arm/mach-tegra/tegra20_clocks_data.c b/arch/arm/mach-tegra/tegra20_clocks_data.c
>> index 7f049ac..3314e50 100644
>> --- a/arch/arm/mach-tegra/tegra20_clocks_data.c
>> +++ b/arch/arm/mach-tegra/tegra20_clocks_data.c
>> @@ -1041,10 +1041,10 @@ static struct clk_duplicate tegra_clk_duplicates[] = {
>>  	CLK_DUPLICATE("usbd",	"utmip-pad",	NULL),
>>  	CLK_DUPLICATE("usbd",	"tegra-ehci.0",	NULL),
>>  	CLK_DUPLICATE("usbd",	"tegra-otg",	NULL),
>> -	CLK_DUPLICATE("2d",	"tegra_grhost",	"gr2d"),
>> -	CLK_DUPLICATE("3d",	"tegra_grhost",	"gr3d"),
>> -	CLK_DUPLICATE("epp",	"tegra_grhost",	"epp"),
>> -	CLK_DUPLICATE("mpe",	"tegra_grhost",	"mpe"),
>> +	CLK_DUPLICATE("2d",	NULL,		"gr2d"),
>> +	CLK_DUPLICATE("3d",	NULL,		"gr3d"),
>> +	CLK_DUPLICATE("epp",	NULL,		"epp"),
>> +	CLK_DUPLICATE("mpe",	NULL,		"mpe"),
> 
> Are these actually required here?

I think we had problems in driver acquiring the clocks without this
(mismatch of driver), but I could retry. The old bindings assumed that
driver would be called "tegra_grhost", but that's not the case.

Terje

  parent reply	other threads:[~2012-11-24  7:09 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-22  9:47 [PATCH 0/6] Support for Tegra 2D hardware Terje Bergstrom
     [not found] ` <1353577684-7896-1-git-send-email-tbergstrom-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-11-22  9:47   ` [PATCH 1/6] video: tegra: Add nvhost driver Terje Bergstrom
     [not found]     ` <1353577684-7896-2-git-send-email-tbergstrom-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-11-23 23:38       ` Thierry Reding
     [not found]         ` <20121123233855.GD21555-RM9K5IK7kjIyiCvfTdI0JKcOhU4Rzj621B7CTYaBSLdn68oJJulU0Q@public.gmane.org>
2012-11-24  7:00           ` Terje Bergström
     [not found]             ` <50B07084.40707-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-11-24 19:04               ` Thierry Reding
     [not found]                 ` <20121124190416.GC26154-RM9K5IK7kjIyiCvfTdI0JKcOhU4Rzj621B7CTYaBSLdn68oJJulU0Q@public.gmane.org>
2012-11-24 20:02                   ` Terje Bergström
2012-11-26  8:21                   ` Terje Bergström
     [not found]                     ` <50B32690.7020102-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-11-26  9:25                       ` Thierry Reding
     [not found]                         ` <20121126092524.GB8602-RM9K5IK7kjIyiCvfTdI0JKcOhU4Rzj621B7CTYaBSLdn68oJJulU0Q@public.gmane.org>
2012-11-26  9:33                           ` Terje Bergström
2012-11-26 13:42                           ` Terje Bergström
2012-11-22  9:48   ` [PATCH 2/6] ARM: tegra: Add auxiliary data for nvhost Terje Bergstrom
     [not found]     ` <1353577684-7896-3-git-send-email-tbergstrom-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-11-23 23:45       ` Thierry Reding
     [not found]         ` <20121123234527.GE21555-RM9K5IK7kjIyiCvfTdI0JKcOhU4Rzj621B7CTYaBSLdn68oJJulU0Q@public.gmane.org>
2012-11-24  7:09           ` Terje Bergström [this message]
     [not found]             ` <50B07297.3090001-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-11-24 19:11               ` Thierry Reding
     [not found]                 ` <20121124191103.GD26154-RM9K5IK7kjIyiCvfTdI0JKcOhU4Rzj621B7CTYaBSLdn68oJJulU0Q@public.gmane.org>
2012-11-26  9:40                   ` Terje Bergström
     [not found]                     ` <50B338F2.5060501-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-11-26 22:53                       ` Stephen Warren
2012-11-26 13:56                   ` Terje Bergström
2012-11-22  9:48   ` [PATCH 3/6] gpu: drm: tegra: Remove redundant host1x Terje Bergstrom
     [not found]     ` <1353577684-7896-4-git-send-email-tbergstrom-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-11-23 23:19       ` Thierry Reding
2012-11-22  9:48   ` [PATCH 4/6] gpu: drm: tegra: Free platform data on remove Terje Bergstrom
     [not found]     ` <1353577684-7896-5-git-send-email-tbergstrom-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-11-23 21:53       ` Thierry Reding
     [not found]         ` <20121123215305.GA21555-RM9K5IK7kjIyiCvfTdI0JKcOhU4Rzj621B7CTYaBSLdn68oJJulU0Q@public.gmane.org>
2012-11-26  7:33           ` Arto Merilainen
2012-11-22  9:48   ` [PATCH 5/6] gpu: drm: tegra: Prime support Terje Bergstrom
     [not found]     ` <1353577684-7896-6-git-send-email-tbergstrom-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-11-23 21:55       ` Thierry Reding
     [not found]         ` <20121123215528.GB21555-RM9K5IK7kjIyiCvfTdI0JKcOhU4Rzj621B7CTYaBSLdn68oJJulU0Q@public.gmane.org>
2012-11-24  7:11           ` Terje Bergström
     [not found]             ` <50B0733D.4040002-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-11-24 19:14               ` Thierry Reding
     [not found]                 ` <20121124191445.GE26154-RM9K5IK7kjIyiCvfTdI0JKcOhU4Rzj621B7CTYaBSLdn68oJJulU0Q@public.gmane.org>
2012-11-24 19:59                   ` Terje Bergström
     [not found]                     ` <50B12724.7020503-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-11-26  7:33                       ` Arto Merilainen
     [not found]                         ` <7DC9167CA73B39468DFA1D07FF67A6A85150E61DDB-LZBqo6t42cZDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2012-11-26  9:30                           ` Terje Bergström
2012-11-22  9:48   ` [PATCH 6/6] drm: tegra: Add gr2d device Terje Bergstrom
  -- strict thread matches above, loose matches on Subject: below --
2012-11-22 12:16 [PATCH 0/6] Support for Tegra 2D hardware Terje Bergstrom
     [not found] ` <1353586614-7308-1-git-send-email-tbergstrom-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-11-22 12:16   ` [PATCH 2/6] ARM: tegra: Add auxiliary data for nvhost Terje Bergstrom

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=50B07297.3090001@nvidia.com \
    --to=tbergstrom-ddmlm1+adcrqt0dzr+alfa@public.gmane.org \
    --cc=amerilainen-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
    --cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@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.