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
next prev parent 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.