diff options
author | Álvaro Fernández Rojas <noltari@gmail.com> | 2019-08-09 19:50:30 +0200 |
---|---|---|
committer | Álvaro Fernández Rojas <noltari@gmail.com> | 2019-08-27 11:10:01 +0200 |
commit | 2340c646e6a5da658e114be2f721ff90853588d4 (patch) | |
tree | df9744d2344e71e8c5d1b75c3e1528bc474313fe /target/linux/brcm2708/patches-4.19/950-0316-staging-mmal-vchiq-Fix-client_component-for-64-bit-k.patch | |
parent | 81d0da118694feb874f992093063a2852285d194 (diff) | |
download | upstream-2340c646e6a5da658e114be2f721ff90853588d4.tar.gz upstream-2340c646e6a5da658e114be2f721ff90853588d4.tar.bz2 upstream-2340c646e6a5da658e114be2f721ff90853588d4.zip |
brcm2708: update to latest patches from RPi foundation
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Diffstat (limited to 'target/linux/brcm2708/patches-4.19/950-0316-staging-mmal-vchiq-Fix-client_component-for-64-bit-k.patch')
-rw-r--r-- | target/linux/brcm2708/patches-4.19/950-0316-staging-mmal-vchiq-Fix-client_component-for-64-bit-k.patch | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/target/linux/brcm2708/patches-4.19/950-0316-staging-mmal-vchiq-Fix-client_component-for-64-bit-k.patch b/target/linux/brcm2708/patches-4.19/950-0316-staging-mmal-vchiq-Fix-client_component-for-64-bit-k.patch deleted file mode 100644 index cf9dd4952c..0000000000 --- a/target/linux/brcm2708/patches-4.19/950-0316-staging-mmal-vchiq-Fix-client_component-for-64-bit-k.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 211b9373ea9e8094d16a1eb9d0c2c18ab70c89de Mon Sep 17 00:00:00 2001 -From: Dave Stevenson <dave.stevenson@raspberrypi.org> -Date: Tue, 22 Jan 2019 12:04:09 +0000 -Subject: [PATCH 316/725] staging: mmal-vchiq: Fix client_component for 64 bit - kernel - -The MMAL client_component field is used with the event -mechanism to allow the client to identify the component for -which the event is generated. -The field is only 32bits in size, therefore we can't use a -pointer to the component in a 64 bit kernel. - -Component handles are already held in an array per VCHI -instance, so use the array index as the client_component handle -to avoid having to create a new IDR for this purpose. - -Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> ---- - .../staging/vc04_services/vchiq-mmal/mmal-vchiq.c | 12 +++++++++--- - .../staging/vc04_services/vchiq-mmal/mmal-vchiq.h | 1 + - 2 files changed, 10 insertions(+), 3 deletions(-) - ---- a/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c -+++ b/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c -@@ -473,9 +473,9 @@ buffer_from_host(struct vchiq_mmal_insta - static void event_to_host_cb(struct vchiq_mmal_instance *instance, - struct mmal_msg *msg, u32 msg_len) - { -- /* FIXME: Not going to work on 64 bit */ -+ int comp_idx = msg->u.event_to_host.client_component; - struct vchiq_mmal_component *component = -- (struct vchiq_mmal_component *)msg->u.event_to_host.client_component; -+ &instance->component[comp_idx]; - struct vchiq_mmal_port *port = NULL; - struct mmal_msg_context *msg_context; - u32 port_num = msg->u.event_to_host.port_num; -@@ -1074,7 +1074,7 @@ static int create_component(struct vchiq - - /* build component create message */ - m.h.type = MMAL_MSG_TYPE_COMPONENT_CREATE; -- m.u.component_create.client_component = (u32)(unsigned long)component; -+ m.u.component_create.client_component = component->client_component; - strncpy(m.u.component_create.name, name, - sizeof(m.u.component_create.name)); - -@@ -1869,6 +1869,12 @@ int vchiq_mmal_component_init(struct vch - goto unlock; - } - -+ /* We need a handle to reference back to our component structure. -+ * Use the array index in instance->component rather than rolling -+ * another IDR. -+ */ -+ component->client_component = idx; -+ - ret = create_component(instance, component, name); - if (ret < 0) { - pr_err("%s: failed to create component %d (Not enough GPU mem?)\n", ---- a/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.h -+++ b/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.h -@@ -97,6 +97,7 @@ struct vchiq_mmal_component { - struct vchiq_mmal_port input[MAX_PORT_COUNT]; /* input ports */ - struct vchiq_mmal_port output[MAX_PORT_COUNT]; /* output ports */ - struct vchiq_mmal_port clock[MAX_PORT_COUNT]; /* clock ports */ -+ u32 client_component; /* Used to ref back to client struct */ - }; - - int vchiq_mmal_init(struct vchiq_mmal_instance **out_instance); |