All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jani Nikula <jani.nikula@intel.com>
To: Rodrigo Vivi <rodrigo.vivi@kernel.org>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [Intel-gfx] [PATCH] drm/i915/bios: add helper for reading SPI
Date: Mon, 15 May 2023 11:25:28 +0300	[thread overview]
Message-ID: <87cz32j91j.fsf@intel.com> (raw)
In-Reply-To: <ZF5HWja9HdAjqqJz@rdvivi-mobl4>

On Fri, 12 May 2023, Rodrigo Vivi <rodrigo.vivi@kernel.org> wrote:
> On Fri, May 12, 2023 at 02:14:46PM +0300, Jani Nikula wrote:
>> Add helper for reading SPI to not duplicate the write&read combo
>> everywhere.
>> 
>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>
> BAT failure is likely a false positive on crcs... this patch
> looks correct to me without any functional change.

Re-test passed bat.

> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

Thanks, pushed to din.

BR,
Jani.

>
>
>> ---
>>  drivers/gpu/drm/i915/display/intel_bios.c | 23 ++++++++++++-----------
>>  1 file changed, 12 insertions(+), 11 deletions(-)
>> 
>> diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
>> index 64eb11a45265..34a397adbd6b 100644
>> --- a/drivers/gpu/drm/i915/display/intel_bios.c
>> +++ b/drivers/gpu/drm/i915/display/intel_bios.c
>> @@ -3033,6 +3033,13 @@ bool intel_bios_is_valid_vbt(const void *buf, size_t size)
>>  	return vbt;
>>  }
>>  
>> +static u32 intel_spi_read(struct intel_uncore *uncore, u32 offset)
>> +{
>> +	intel_uncore_write(uncore, PRIMARY_SPI_ADDRESS, offset);
>> +
>> +	return intel_uncore_read(uncore, PRIMARY_SPI_TRIGGER);
>> +}
>> +
>>  static struct vbt_header *spi_oprom_get_vbt(struct drm_i915_private *i915)
>>  {
>>  	u32 count, data, found, store = 0;
>> @@ -3049,9 +3056,7 @@ static struct vbt_header *spi_oprom_get_vbt(struct drm_i915_private *i915)
>>  	oprom_offset &= OROM_OFFSET_MASK;
>>  
>>  	for (count = 0; count < oprom_size; count += 4) {
>> -		intel_uncore_write(&i915->uncore, PRIMARY_SPI_ADDRESS, oprom_offset + count);
>> -		data = intel_uncore_read(&i915->uncore, PRIMARY_SPI_TRIGGER);
>> -
>> +		data = intel_spi_read(&i915->uncore, oprom_offset + count);
>>  		if (data == *((const u32 *)"$VBT")) {
>>  			found = oprom_offset + count;
>>  			break;
>> @@ -3062,20 +3067,16 @@ static struct vbt_header *spi_oprom_get_vbt(struct drm_i915_private *i915)
>>  		goto err_not_found;
>>  
>>  	/* Get VBT size and allocate space for the VBT */
>> -	intel_uncore_write(&i915->uncore, PRIMARY_SPI_ADDRESS, found +
>> -		   offsetof(struct vbt_header, vbt_size));
>> -	vbt_size = intel_uncore_read(&i915->uncore, PRIMARY_SPI_TRIGGER);
>> +	vbt_size = intel_spi_read(&i915->uncore,
>> +				  found + offsetof(struct vbt_header, vbt_size));
>>  	vbt_size &= 0xffff;
>>  
>>  	vbt = kzalloc(round_up(vbt_size, 4), GFP_KERNEL);
>>  	if (!vbt)
>>  		goto err_not_found;
>>  
>> -	for (count = 0; count < vbt_size; count += 4) {
>> -		intel_uncore_write(&i915->uncore, PRIMARY_SPI_ADDRESS, found + count);
>> -		data = intel_uncore_read(&i915->uncore, PRIMARY_SPI_TRIGGER);
>> -		*(vbt + store++) = data;
>> -	}
>> +	for (count = 0; count < vbt_size; count += 4)
>> +		*(vbt + store++) = intel_spi_read(&i915->uncore, found + count);
>>  
>>  	if (!intel_bios_is_valid_vbt(vbt, vbt_size))
>>  		goto err_free_vbt;
>> -- 
>> 2.39.2
>> 

-- 
Jani Nikula, Intel Open Source Graphics Center

  reply	other threads:[~2023-05-15  8:25 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-12 11:14 [Intel-gfx] [PATCH] drm/i915/bios: add helper for reading SPI Jani Nikula
2023-05-12 13:52 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915/bios: add helper for reading SPI (rev2) Patchwork
2023-05-12 14:04 ` [Intel-gfx] [PATCH] drm/i915/bios: add helper for reading SPI Rodrigo Vivi
2023-05-15  8:25   ` Jani Nikula [this message]
2023-05-12 16:01 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/bios: add helper for reading SPI (rev3) Patchwork
2023-05-12 17:16 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2022-05-03 13:17 [Intel-gfx] [PATCH] drm/i915/bios: add helper for reading SPI Jani Nikula

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=87cz32j91j.fsf@intel.com \
    --to=jani.nikula@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=rodrigo.vivi@kernel.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.