Displaying 12 results from an estimated 12 matches for "drm_platform_init".
2014 Feb 01
0
[RFC 03/16] drm/nouveau: add platform device probing function
Add a nouveau_drm_platform_probe() function that probes a Nouveau
platform device and registers it using drm_platform_init().
Signed-off-by: Alexandre Courbot <acourbot at nvidia.com>
---
drivers/gpu/drm/nouveau/core/engine/device/base.c | 34 ++++++++++++++++++++++
.../gpu/drm/nouveau/core/include/engine/device.h | 10 +++++++
drivers/gpu/drm/nouveau/nouveau_drm.c | 19 ++++++++++++
3 files cha...
2014 May 19
10
[PATCH 0/5] drm/nouveau: platform devices and GK20A probing
This patch series is the final (?) step towards the initial support of GK20A,
allowing it to be probed and used (currently at a very slow speed, and for
offscreen rendering only) on the Jetson TK1 and Venice 2 boards.
The main piece if the first patch which adds platform devices probing support
to Nouveau. There are probably lots of things that need to be discussed about
it, e.g.:
* The way the
2014 Feb 10
0
[PATCH] drm/nouveau: support for platform devices
...struct platform_device *pdev)
> +{
> + struct nouveau_device *device;
> + int ret;
> +
> + ret = nouveau_device_platform_create(pdev, nouveau_platform_name(pdev),
> + dev_name(&pdev->dev), nouveau_config,
> + nouveau_debug, &device);
> +
> + ret = drm_platform_init(&driver, pdev);
> + if (ret) {
> + nouveau_object_ref(NULL, (struct nouveau_object **)&device);
> + return ret;
> + }
> +
> + return ret;
> +}
I think we should move the whole of gk20a probing into nouveau. Keeping
one part in tegra-drm and one part in nouveau is con...
2014 Jun 26
0
[PATCH v3 1/3] drm/nouveau: support for probing platform devices
...et;
+ struct drm_device *drm;
+ int err;
- ret = nouveau_device_create(pdev, NOUVEAU_BUS_PLATFORM,
+ err = nouveau_device_create_(pdev, NOUVEAU_BUS_PLATFORM,
nouveau_platform_name(pdev),
dev_name(&pdev->dev), nouveau_config,
- nouveau_debug, &device);
-
- ret = drm_platform_init(&driver, pdev);
- if (ret) {
- nouveau_object_ref(NULL, (struct nouveau_object **)&device);
- return ret;
+ nouveau_debug, size, pobject);
+ if (err)
+ return ERR_PTR(err);
+
+ drm = drm_dev_alloc(&driver, &pdev->dev);
+ if (!drm) {
+ err = -ENOMEM;
+ goto err_free;...
2014 Jun 26
6
[PATCH v3 0/3] drm/nouveau: support for probing platform devices
This series adds support for probing platform devices on Nouveau, as well as
the DT bindings for GK20A. It doesn't enable the GPU yet on Tegra boards since
a few extra things need to be supported before that.
This version is mostly identical to v2 but fixes an important issue: the drvdata
must be set to the drm_device for sysfs to work, so the platform device
structure now includes the
2014 Jun 13
3
[PATCH v2 0/3] drm/nouveau: support for probing platform devices
This series adds support for probing platform devices on Nouveau, as well as
the DT bindings for GK20A. It doesn't enable the GPU yet on Tegra boards since
a few extra things need to be supported before that.
Thanks to the input received for v1, this version is more self-contained and
shares less stuff between nouveau_drm and nouveau_platform. The major change
is that nouveau_platform is now
2014 Feb 10
2
[PATCH] drm/nouveau: support for platform devices
...ops,
};
+
+int nouveau_drm_platform_probe(struct platform_device *pdev)
+{
+ struct nouveau_device *device;
+ int ret;
+
+ ret = nouveau_device_platform_create(pdev, nouveau_platform_name(pdev),
+ dev_name(&pdev->dev), nouveau_config,
+ nouveau_debug, &device);
+
+ ret = drm_platform_init(&driver, pdev);
+ if (ret) {
+ nouveau_object_ref(NULL, (struct nouveau_object **)&device);
+ return ret;
+ }
+
+ return ret;
+}
+
static int __init
nouveau_drm_init(void)
{
diff --git a/drivers/gpu/drm/nouveau/nouveau_sysfs.c b/drivers/gpu/drm/nouveau/nouveau_sysfs.c
index 89201a17ce7...
2014 Jun 26
2
[PATCH v3 1/3] drm/nouveau: support for probing platform devices
...t;
> - ret = nouveau_device_create(pdev, NOUVEAU_BUS_PLATFORM,
> + err = nouveau_device_create_(pdev, NOUVEAU_BUS_PLATFORM,
> nouveau_platform_name(pdev),
> dev_name(&pdev->dev), nouveau_config,
> - nouveau_debug, &device);
> -
> - ret = drm_platform_init(&driver, pdev);
> - if (ret) {
> - nouveau_object_ref(NULL, (struct nouveau_object **)&device);
> - return ret;
> + nouveau_debug, size, pobject);
> + if (err)
> + return ERR_PTR(err);
> +
> + drm = drm_dev_alloc(&driver, &pdev->dev);
> + if (...
2014 Feb 11
2
[PATCH] drm/nouveau: support for platform devices
...> +
>> + ret = nouveau_device_platform_create(pdev, nouveau_platform_name(pdev),
>> + dev_name(&pdev->dev), nouveau_config,
>> + nouveau_debug, &device);
>> +
>> + ret = drm_platform_init(&driver, pdev);
>> + if (ret) {
>> + nouveau_object_ref(NULL, (struct nouveau_object **)&device);
>> + return ret;
>> + }
>> +
>> + return ret;
>> +}
>
> I think we should move the whole of gk20a probing int...
2014 Feb 01
28
[RFC 00/16] drm/nouveau: initial support for GK20A (Tegra K1)
Hello everyone,
GK20A is the Kepler-based GPU used in the upcoming Tegra K1 chips. The following
patches perform architectural changes to Nouveau that are necessary to support
non-PCI GPUs and add initial support for GK20A. Although the support is still
very basic and more user-space changes will be needed to make the full graphics
stack run on top of it, we were able to successfully open
2014 Feb 12
0
[PATCH v2] drm/nouveau: support for platform devices
...eau_drm_platform_probe(struct platform_device *pdev)
+{
+ struct nouveau_device *device;
+ int ret;
+
+ ret = nouveau_device_create(pdev, NOUVEAU_BUS_PLATFORM,
+ nouveau_platform_name(pdev),
+ dev_name(&pdev->dev), nouveau_config,
+ nouveau_debug, &device);
+
+ ret = drm_platform_init(&driver, pdev);
+ if (ret) {
+ nouveau_object_ref(NULL, (struct nouveau_object **)&device);
+ return ret;
+ }
+
+ return ret;
+}
+
static int __init
nouveau_drm_init(void)
{
diff --git a/drivers/gpu/drm/nouveau/nouveau_sysfs.c b/drivers/gpu/drm/nouveau/nouveau_sysfs.c
index 89201a17ce7...
2014 Feb 12
2
[PATCH v2] drm/nouveau: support for platform devices
On 12/02/14 05:38, Alexandre Courbot wrote:
> Upcoming mobile Kepler GPUs (such as GK20A) use the platform bus instead
> of PCI to which Nouveau is tightly dependent. This patch allows Nouveau
> to handle platform devices by:
>
> - abstracting PCI-dependent functions that were typically used for
> resource querying and page mapping,
> - introducing a nv_device_is_pci()