Displaying 20 results from an estimated 36 matches for "fail_alloc".
Did you mean:
mail_alloc
2018 Aug 29
5
[PATCH v2 0/5] drm/nouveau: Backlight fixes and cleanup
Next version of https://patchwork.freedesktop.org/series/48596/ . Made
some important changes to the refactoring patch, but everything else is
the same.
Lyude Paul (5):
drm/nouveau: Check backlight IDs are >= 0, not > 0
drm/nouveau: Move backlight device into nouveau_connector
drm/nouveau: s/nouveau_backlight_exit/nouveau_backlight_fini/
drm/nouveau: Cleanup indenting in
2018 Aug 23
6
[PATCH 0/5] drm/nouveau: Backlight fixes and cleanup
This series fixes some issues with nouveau's backlight support that were
causing kernel panics on module reloads, specifically on systems with
nouveau handling the backlight of one of the displays.
While we're at it, let's cleanup nouveau_backlight.c as well
Lyude Paul (5):
drm/nouveau: Check backlight IDs are >= 0, not > 0
drm/nouveau: Move backlight device into
2018 Aug 29
5
[PATCH v3 0/5] drm/nouveau: Backlight fixes and cleanup
Next version of https://patchwork.freedesktop.org/series/48596/ . Added
NV_INFO_ONCE and made "Move backlight device into nouveau_connector" use
that instead so we don't print the GMUX warning more then once.
Lyude Paul (5):
drm/nouveau: Add NV_PRINTK_ONCE and variants
drm/nouveau: Move backlight device into nouveau_connector
drm/nouveau:
2018 Aug 29
6
[PATCH RESEND v3 0/6] drm/nouveau: Backlight fixes and cleanup
Forgot to send 6 patches instead of five since there's one new one now,
whoops!
No actual changes, next version of
https://patchwork.freedesktop.org/series/48596/
Lyude Paul (6):
drm/nouveau: Check backlight IDs are >= 0, not > 0
drm/nouveau: Add NV_PRINTK_ONCE and variants
drm/nouveau: Move backlight device into nouveau_connector
drm/nouveau:
2018 Sep 06
7
[PATCH v4 0/6] Backlight fixes and cleanup
Refactor for Ben, hopefully this time this should apply to his tree.
Next version of https://patchwork.freedesktop.org/series/48596/
No changes otherwise.
Lyude Paul (6):
drm/nouveau: Check backlight IDs are >= 0, not > 0
drm/nouveau: Add NV_PRINTK_ONCE and variants
drm/nouveau: Move backlight device into nouveau_connector
drm/nouveau:
2024 Feb 22
1
[PATCH] drm/nouveau: use dedicated wq for fence uevents work
...-)
diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c
index 6f6c31a9937b..6be202081077 100644
--- a/drivers/gpu/drm/nouveau/nouveau_drm.c
+++ b/drivers/gpu/drm/nouveau/nouveau_drm.c
@@ -598,9 +598,15 @@ nouveau_drm_device_init(struct drm_device *dev)
goto fail_alloc;
}
+ drm->fence_wq = alloc_workqueue("nouveau_fence_wq", 0, WQ_MAX_ACTIVE);
+ if (!drm->fence_wq) {
+ ret = -ENOMEM;
+ goto fail_sched_wq;
+ }
+
ret = nouveau_cli_init(drm, "DRM-master", &drm->master);
if (ret)
- goto fail_wq;
+ goto fail_fence_wq;
r...
2024 Feb 23
1
[PATCH] drm/nouveau: use dedicated wq for fence uevents work
...s/gpu/drm/nouveau/nouveau_drm.c
> > index 6f6c31a9937b..6be202081077 100644
> > --- a/drivers/gpu/drm/nouveau/nouveau_drm.c
> > +++ b/drivers/gpu/drm/nouveau/nouveau_drm.c
> > @@ -598,9 +598,15 @@ nouveau_drm_device_init(struct drm_device *dev)
> > goto fail_alloc;
> > }
> >
> > + drm->fence_wq = alloc_workqueue("nouveau_fence_wq", 0, WQ_MAX_ACTIVE);
> > + if (!drm->fence_wq) {
> > + ret = -ENOMEM;
> > + goto fail_sched_wq;
> > + }
> > +
>...
2019 Sep 03
0
[PATCH v2 27/27] drm/dp_mst: Add topology ref history tracking for debugging
...struct drm_dp_mst_topology_ref_entry *entry = NULL;
+ depot_stack_handle_t backtrace;
+ ulong stack_entries[STACK_DEPTH];
+ uint n;
+ int i;
+
+ n = stack_trace_save(stack_entries, ARRAY_SIZE(stack_entries), 1);
+ backtrace = stack_depot_save(stack_entries, n, GFP_KERNEL);
+ if (!backtrace)
+ goto fail_alloc;
+
+ /* Try to find an existing entry for this backtrace */
+ for (i = 0; i < history->len; i++) {
+ if (history->entries[i].backtrace == backtrace) {
+ entry = &history->entries[i];
+ break;
+ }
+ }
+
+ /* Otherwise add one */
+ if (!entry) {
+ struct drm_dp_mst_topology_ref...
2020 Nov 06
2
[PATCH 2/3] drm/nouveau: manage nouveau_drm lifetime with devres
...= nouveau_drm(dev);
>
> nvif_parent_ctor(&nouveau_parent, &drm->parent);
> drm->master.base.object.parent = &drm->parent;
> @@ -620,7 +617,6 @@ nouveau_drm_device_init(struct drm_device *dev)
> nouveau_cli_fini(&drm->master);
> fail_alloc:
> nvif_parent_dtor(&drm->parent);
> - kfree(drm);
> return ret;
> }
>
> @@ -654,7 +650,6 @@ nouveau_drm_device_fini(struct drm_device *dev)
> nouveau_cli_fini(&drm->client);
> nouveau_cli_fini(&drm->master);
>...
2018 Oct 29
2
[PATCH v2 2/4] drm/dp_mst: Start tracking per-port VCPI allocations
...vcpi = kzalloc(sizeof(*vcpi), GFP_KERNEL);
kmemdump + updating the list. Just in case we ever add more stuff here.
Probably needs an explicit memset to avoid list debugging.
At least that's the style we use everywhere else.
> + if (!vcpi) {
> + drm_dp_put_port(port);
> + goto fail_alloc;
> + }
> +
> + vcpi->port = port;
> + vcpi->vcpi = pos->vcpi;
> + list_add(&vcpi->next, &state->vcpis);
> + drm_dp_put_port(port);
> + }
> +
> return &state->base;
> +
> +fail_alloc:
> + list_for_each_entry_safe(pos, vcpi, &am...
2018 Oct 23
0
[PATCH 4/6] drm/dp_mst: Start tracking per-port VCPI allocations
...t = drm_dp_get_validated_port_ref(mgr, pos->port);
+ if (!port) {
+ DRM_DEBUG_ATOMIC("[MST PORT:%p] is gone, vcpi %d -> 0\n",
+ pos->port, pos->vcpi);
+ continue;
+ }
+
+ vcpi = kzalloc(sizeof(*vcpi), GFP_KERNEL);
+ if (!vcpi) {
+ drm_dp_put_port(port);
+ goto fail_alloc;
+ }
+
+ vcpi->port = port;
+ vcpi->vcpi = pos->vcpi;
+ list_add(&vcpi->next, &state->vcpis);
+ drm_dp_put_port(port);
+ }
+
return &state->base;
+
+fail_alloc:
+ list_for_each_entry_safe(pos, vcpi, &state->vcpis, next)
+ kfree(pos);
+ kfree(state);
+
+...
2018 Oct 26
0
[PATCH v2 2/4] drm/dp_mst: Start tracking per-port VCPI allocations
...t = drm_dp_get_validated_port_ref(mgr, pos->port);
+ if (!port) {
+ DRM_DEBUG_ATOMIC("[MST PORT:%p] is gone, vcpi %d -> 0\n",
+ pos->port, pos->vcpi);
+ continue;
+ }
+
+ vcpi = kzalloc(sizeof(*vcpi), GFP_KERNEL);
+ if (!vcpi) {
+ drm_dp_put_port(port);
+ goto fail_alloc;
+ }
+
+ vcpi->port = port;
+ vcpi->vcpi = pos->vcpi;
+ list_add(&vcpi->next, &state->vcpis);
+ drm_dp_put_port(port);
+ }
+
return &state->base;
+
+fail_alloc:
+ list_for_each_entry_safe(pos, vcpi, &state->vcpis, next)
+ kfree(pos);
+ kfree(state);
+
+...
2018 Nov 07
2
[PATCH v3 2/5] drm/dp_mst: Start tracking per-port VCPI allocations
...;
> __drm_atomic_helper_private_obj_duplicate_state(obj, &state->base);
>
> + INIT_LIST_HEAD(&state->vcpis);
> +
> + list_for_each_entry(pos, &old_state->vcpis, next) {
> + vcpi = kmemdup(pos, sizeof(*vcpi), GFP_KERNEL);
> + if (!vcpi)
> + goto fail_alloc;
> +
> + list_add(&vcpi->next, &state->vcpis);
> + }
> +
> return &state->base;
> +
> +fail_alloc:
> + list_for_each_entry_safe(pos, vcpi, &state->vcpis, next)
> + kfree(pos);
> + kfree(state);
> +
> + return NULL;
> }
>
&...
2018 Nov 07
0
[PATCH v3 2/5] drm/dp_mst: Start tracking per-port VCPI allocations
...FP_KERNEL);
if (!state)
return NULL;
__drm_atomic_helper_private_obj_duplicate_state(obj, &state->base);
+ INIT_LIST_HEAD(&state->vcpis);
+
+ list_for_each_entry(pos, &old_state->vcpis, next) {
+ vcpi = kmemdup(pos, sizeof(*vcpi), GFP_KERNEL);
+ if (!vcpi)
+ goto fail_alloc;
+
+ list_add(&vcpi->next, &state->vcpis);
+ }
+
return &state->base;
+
+fail_alloc:
+ list_for_each_entry_safe(pos, vcpi, &state->vcpis, next)
+ kfree(pos);
+ kfree(state);
+
+ return NULL;
}
static void drm_dp_mst_destroy_state(struct drm_private_obj *obj,
@@ -...
2020 Nov 06
0
[PATCH 2/3] drm/nouveau: manage nouveau_drm lifetime with devres
...- drm->dev = dev;
+ struct nouveau_drm *drm = nouveau_drm(dev);
nvif_parent_ctor(&nouveau_parent, &drm->parent);
drm->master.base.object.parent = &drm->parent;
@@ -620,7 +617,6 @@ nouveau_drm_device_init(struct drm_device *dev)
nouveau_cli_fini(&drm->master);
fail_alloc:
nvif_parent_dtor(&drm->parent);
- kfree(drm);
return ret;
}
@@ -654,7 +650,6 @@ nouveau_drm_device_fini(struct drm_device *dev)
nouveau_cli_fini(&drm->client);
nouveau_cli_fini(&drm->master);
nvif_parent_dtor(&drm->parent);
- kfree(drm);
}
/*
@@ -720,6...
2018 Aug 23
3
[PATCH 0/3] drm/nouveau: Fixup module probe to add ->shutdown()
This series is intended to add support for shutting down the GPU on
kernel shutdown/reboot using the ->shutdown() hook, similar to what
amdgpu does. This is mainly intended to workaround a bios issue on the
P50 that was preventing nouveau from initializing the dedicated GM107
GPU on that system properly. You can find more details on this issue in
the patch labeled "Shut down GPU on kernel
2018 Nov 07
2
[PATCH v3 2/5] drm/dp_mst: Start tracking per-port VCPI allocations
...tate->base);
> > >
> > > + INIT_LIST_HEAD(&state->vcpis);
> > > +
> > > + list_for_each_entry(pos, &old_state->vcpis, next) {
> > > + vcpi = kmemdup(pos, sizeof(*vcpi), GFP_KERNEL);
> > > + if (!vcpi)
> > > + goto fail_alloc;
> > > +
> > > + list_add(&vcpi->next, &state->vcpis);
> > > + }
> > > +
> > > return &state->base;
> > > +
> > > +fail_alloc:
> > > + list_for_each_entry_safe(pos, vcpi, &state->vcpis, next)
>...
2018 Nov 07
6
[PATCH v3 0/5] drm/dp_mst: Add some atomic state iterator macros
This patchset does some cleaning up of the atomic VCPI helpers for MST,
and converts nouveau over to using them. I would have included amdgpu in
this patch as well, but at the moment moving them over to the atomic
helpers is nontrivial.
Cc: Daniel Vetter <daniel at ffwll.ch>
Lyude Paul (5):
drm/dp_mst: Add some atomic state iterator macros
drm/dp_mst: Start tracking per-port VCPI
2018 Nov 07
0
[PATCH v3 2/5] drm/dp_mst: Start tracking per-port VCPI allocations
...ate_obj_duplicate_state(obj, &state->base);
> >
> > + INIT_LIST_HEAD(&state->vcpis);
> > +
> > + list_for_each_entry(pos, &old_state->vcpis, next) {
> > + vcpi = kmemdup(pos, sizeof(*vcpi), GFP_KERNEL);
> > + if (!vcpi)
> > + goto fail_alloc;
> > +
> > + list_add(&vcpi->next, &state->vcpis);
> > + }
> > +
> > return &state->base;
> > +
> > +fail_alloc:
> > + list_for_each_entry_safe(pos, vcpi, &state->vcpis, next)
> > + kfree(pos);
> > + kfree(s...
2018 Oct 23
12
[PATCH 0/6] drm/dp_mst: Improve VCPI helpers, use in nouveau
This patchset does some cleaning up of the atomic VCPI helpers for MST,
and converts nouveau over to using them. I would have included amdgpu in
this patch as well, but at the moment moving them over to the atomic
helpers is nontrivial.
Cc: Daniel Vetter <daniel at ffwll.ch>
Lyude Paul (6):
drm/dp_mst: Deprecate drm_dp_find_vcpi_slots()
drm/dp_mst: Remove all evil duplicate state