提交 6ca85b8f 编写于 作者: D Dave Stevenson 提交者: Zheng Zengkai

staging: mmal-vchiq: Fix client_component for 64 bit kernel

raspberrypi inclusion
category: feature
bugzilla: 50432

--------------------------------

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: NDave Stevenson <dave.stevenson@raspberrypi.org>
Signed-off-by: NFang Yafen <yafen@iscas.ac.cn>
Signed-off-by: NZheng Zengkai <zhengzengkai@huawei.com>
上级 31c95f1a
......@@ -460,9 +460,9 @@ buffer_from_host(struct vchiq_mmal_instance *instance,
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;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册