All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Christian König" <deathsimple@vodafone.de>
To: "Marek Olšák" <maraeo@gmail.com>,
	dri-devel <dri-devel@lists.freedesktop.org>
Subject: Re: [PATCH] drm/radeon: add a GPU reset counter queryable by userspace
Date: Thu, 07 May 2015 19:44:34 +0200	[thread overview]
Message-ID: <554BA482.8010702@vodafone.de> (raw)
In-Reply-To: <CAAxE2A78Eb4mjUiPpbhq0sgB+KoT0yi=Az5=PR_ioe=KUsM_+w@mail.gmail.com>

On 07.05.2015 19:13, Marek Olšák wrote:
> Ping
>
> On Wed, Apr 29, 2015 at 7:40 PM, Marek Olšák <maraeo@gmail.com> wrote:
>> From: Marek Olšák <marek.olsak@amd.com>
>>
>> Userspace will be able to tell whether a GPU reset occured by comparing
>> an old referece value of the counter with a new value.
>>
>> Signed-off-by: Marek Olšák <marek.olsak@amd.com>

Reviewed-by: Christian König <christian.koenig@amd.com>

>> ---
>>   drivers/gpu/drm/radeon/radeon.h        | 1 +
>>   drivers/gpu/drm/radeon/radeon_device.c | 2 ++
>>   drivers/gpu/drm/radeon/radeon_drv.c    | 3 ++-
>>   drivers/gpu/drm/radeon/radeon_kms.c    | 3 +++
>>   include/uapi/drm/radeon_drm.h          | 1 +
>>   5 files changed, 9 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h
>> index d2abe48..c2b345a 100644
>> --- a/drivers/gpu/drm/radeon/radeon.h
>> +++ b/drivers/gpu/drm/radeon/radeon.h
>> @@ -2436,6 +2436,7 @@ struct radeon_device {
>>          atomic64_t                      vram_usage;
>>          atomic64_t                      gtt_usage;
>>          atomic64_t                      num_bytes_moved;
>> +       atomic_t                        gpu_reset_counter;
>>          /* ACPI interface */
>>          struct radeon_atif              atif;
>>          struct radeon_atcs              atcs;
>> diff --git a/drivers/gpu/drm/radeon/radeon_device.c b/drivers/gpu/drm/radeon/radeon_device.c
>> index b7ca4c5..13e207e 100644
>> --- a/drivers/gpu/drm/radeon/radeon_device.c
>> +++ b/drivers/gpu/drm/radeon/radeon_device.c
>> @@ -1725,6 +1725,8 @@ int radeon_gpu_reset(struct radeon_device *rdev)
>>                  return 0;
>>          }
>>
>> +       atomic_inc(&rdev->gpu_reset_counter);
>> +
>>          radeon_save_bios_scratch_regs(rdev);
>>          /* block TTM */
>>          resched = ttm_bo_lock_delayed_workqueue(&rdev->mman.bdev);
>> diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c
>> index 7d620d4..5751446 100644
>> --- a/drivers/gpu/drm/radeon/radeon_drv.c
>> +++ b/drivers/gpu/drm/radeon/radeon_drv.c
>> @@ -90,9 +90,10 @@
>>    *            CS to GPU on >= r600
>>    *   2.41.0 - evergreen/cayman: Add SET_BASE/DRAW_INDIRECT command parsing support
>>    *   2.42.0 - Add VCE/VUI (Video Usability Information) support
>> + *   2.43.0 - RADEON_INFO_GPU_RESET_COUNTER
>>    */
>>   #define KMS_DRIVER_MAJOR       2
>> -#define KMS_DRIVER_MINOR       42
>> +#define KMS_DRIVER_MINOR       43
>>   #define KMS_DRIVER_PATCHLEVEL  0
>>   int radeon_driver_load_kms(struct drm_device *dev, unsigned long flags);
>>   int radeon_driver_unload_kms(struct drm_device *dev);
>> diff --git a/drivers/gpu/drm/radeon/radeon_kms.c b/drivers/gpu/drm/radeon/radeon_kms.c
>> index 7b2a733..9632e88 100644
>> --- a/drivers/gpu/drm/radeon/radeon_kms.c
>> +++ b/drivers/gpu/drm/radeon/radeon_kms.c
>> @@ -576,6 +576,9 @@ static int radeon_info_ioctl(struct drm_device *dev, void *data, struct drm_file
>>                  if (radeon_get_allowed_info_register(rdev, *value, value))
>>                          return -EINVAL;
>>                  break;
>> +       case RADEON_INFO_GPU_RESET_COUNTER:
>> +               *value = atomic_read(&rdev->gpu_reset_counter);
>> +               break;
>>          default:
>>                  DRM_DEBUG_KMS("Invalid request %d\n", info->request);
>>                  return -EINVAL;
>> diff --git a/include/uapi/drm/radeon_drm.h b/include/uapi/drm/radeon_drm.h
>> index 871e73f..573cb86 100644
>> --- a/include/uapi/drm/radeon_drm.h
>> +++ b/include/uapi/drm/radeon_drm.h
>> @@ -1038,6 +1038,7 @@ struct drm_radeon_cs {
>>   #define RADEON_INFO_CURRENT_GPU_SCLK   0x22
>>   #define RADEON_INFO_CURRENT_GPU_MCLK   0x23
>>   #define RADEON_INFO_READ_REG           0x24
>> +#define RADEON_INFO_GPU_RESET_COUNTER  0x25
>>
>>   struct drm_radeon_info {
>>          uint32_t                request;
>> --
>> 2.1.0
>>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2015-05-07 17:44 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-29 17:40 [PATCH] drm/radeon: add a GPU reset counter queryable by userspace Marek Olšák
2015-05-07 17:13 ` Marek Olšák
2015-05-07 17:44   ` Christian König [this message]
2015-05-11 21:13     ` Alex Deucher

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=554BA482.8010702@vodafone.de \
    --to=deathsimple@vodafone.de \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=maraeo@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.