From: Yaodong Li <yaodong.li@intel.com>
To: Michal Wajdeczko <michal.wajdeczko@intel.com>,
intel-gfx@lists.freedesktop.org
Cc: Sujaritha Sundaresan <sujaritha.sundaresan@intel.com>
Subject: Re: [PATCH v10 3/7] drm/i915/guc: Implement dynamic GuC WOPCM offset and size
Date: Tue, 13 Feb 2018 18:26:12 -0800 [thread overview]
Message-ID: <03562bfd-8844-a199-616e-04c7a0f2ea70@intel.com> (raw)
In-Reply-To: <op.zeds8zi3xaggs7@mwajdecz-mobl1.ger.corp.intel.com>
On 02/13/2018 07:56 AM, Michal Wajdeczko wrote:
>
> Also, comparing again your drawing with the spec I think it
> should look like this:
>
> +-------- +====================+ <== WOPCM top
> /|\ | HW RESERVED |
> | +------------------- +
> | | |
> | +-- +====================+ <== GuC WOPCM top
> | /|\ | |
> | | | |
> | GuC | |
> | WOPCM | GuC firmware |
> | size | |
> WOPCM | +--------------------+
> size \|/ | GuC reserved |
> | +-- +====================+ <== GuC WOPCM base (offset from
> WOPCM base)
> | | WOPCM RESERVED |
> | +--------------------+
> \|/ | HuC firmware |
> +-------- +====================+ <== WOPCM base
>
>
>> +
>> +/* GUC WOPCM offset needs to be 16KB aligned. */
>> +#define GUC_WOPCM_OFFSET_ALIGNMENT (16 << 10)
>> +/* 16KB reserved at the beginning of GuC WOPCM. */
>> +#define GUC_WOPCM_RESERVED (16 << 10)
>> +/* 8KB from GUC_WOPCM_RESERVED is reserved for GuC stack. */
>> +#define GUC_WOPCM_STACK_RESERVED (8 << 10)
>> +/* 24KB at the end of GuC WOPCM is reserved for RC6 CTX on BXT. */
>> +#define BXT_GUC_WOPCM_RC6_CTX_RESERVED (24 << 10)
>
> Hmm, I'm still not convinced that we correctly attach it to "GuC WOPCM".
>
> In the result, maybe we should stop focusing on "intel_guc_wopcm" and
> define
> everything as "intel_wopcm" as it was earlier suggested by Joonas.
>
> Then we can define our struct to match diagram above as
>
> struct intel_wopcm {
> u32 size;
> struct {
> u32 base;
> u32 size;
> } guc;
> };
>
> u32 intel_wopcm_guc_top(struct intel_wopcm *wopcm)
> {
> return wopcm->guc.base + wopcm->guc.size;
> }
More comments about the *top*:-)
The *top* we used in driver code to verify where the non-wopcm guc memory
allocation starts is the offset value from guc.base to WOPCM_TOP. so we
don't need to
add the guc.base to it.
From GuC point of view the *top* (boundary between wopcm and non-wopcm
memory)
is like:
+------------------+ <=== GuC memory end
Non WOPCM
+------------------+ <=== *top* (This is actually in top of the whole WOPCM)
CTX Rsvd
+------------------+ <=== *__top* (wopcm->guc.size)
WOPCM
+------------------+ <=== guc base (wopcm->guc.base)
actually, we had a discussion whether we should set the guc wopcm and
non-wopcm
boundary to *__top* but the suggestion we got is to stick to the spec
description which
says to allocate "non-wopcm memory starts from WOPCM TOP"(even if it seems
we could use *__top* as the boundary:-)). and it's because of this
reason we called the
wopcm from guc_base to *top* as GuC WOPCM since we count the wopcm between
*__top* to *top* as a part of GuC address space while trying to allocate
non-wopcm
for GuC (even though GuC won't access CTX Rsvd at allO:-)).
Regards,
-Jackie
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2018-02-14 2:27 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-12 23:45 [PATCH v10 1/7] drm/i915/guc: Move GuC WOPCM related code into separate files Jackie Li
2018-02-12 23:45 ` [PATCH v10 2/7] drm/i915/guc: Rename guc_ggtt_offset to intel_guc_ggtt_offset Jackie Li
2018-02-12 23:45 ` [PATCH v10 3/7] drm/i915/guc: Implement dynamic GuC WOPCM offset and size Jackie Li
2018-02-13 15:56 ` Michal Wajdeczko
2018-02-13 20:01 ` Yaodong Li
2018-02-13 22:58 ` Michal Wajdeczko
2018-02-14 2:26 ` Yaodong Li [this message]
2018-02-14 17:38 ` Michal Wajdeczko
2018-02-14 18:25 ` Yaodong Li
2018-02-12 23:45 ` [PATCH v10 4/7] drm/i915/guc: Add support to return CNL specific reserved GuC WOPCM size Jackie Li
2018-02-12 23:45 ` [PATCH v10 5/7] drm/i915/guc: Add HuC firmware size related restriction for Gen9 and CNL A0 Jackie Li
2018-02-13 16:06 ` Michal Wajdeczko
2018-02-13 21:50 ` Yaodong Li
2018-02-13 22:59 ` Michal Wajdeczko
2018-02-14 0:41 ` Yaodong Li
2018-02-14 17:24 ` Michal Wajdeczko
2018-02-14 18:22 ` Yaodong Li
2018-02-12 23:45 ` [PATCH v10 6/7] drm/i915/guc: Check the locking status of GuC WOPCM registers Jackie Li
2018-02-13 17:39 ` Michal Wajdeczko
2018-02-14 1:18 ` Yaodong Li
2018-02-14 17:07 ` Michal Wajdeczko
2018-02-14 18:31 ` Yaodong Li
2018-02-14 18:42 ` Yaodong Li
2018-02-12 23:45 ` [PATCH v10 7/7] HAX Enable GuC Submission for CI Jackie Li
2018-02-13 0:27 ` ✗ Fi.CI.BAT: failure for series starting with [v10,1/7] drm/i915/guc: Move GuC WOPCM related code into separate files Patchwork
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=03562bfd-8844-a199-616e-04c7a0f2ea70@intel.com \
--to=yaodong.li@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=michal.wajdeczko@intel.com \
--cc=sujaritha.sundaresan@intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox