kernel: bump 4.19 to 4.19.62
[openwrt/staging/lynxis.git] / target / linux / brcm2708 / patches-4.19 / 950-0239-staging-bcm2835-camera-Do-not-bulk-receive-from-serv.patch
index 99a960215c3839f5c5779b1c3c67f362ef135a41..0df004ca9ab45bf0b5e8a7a411fb9b7e28906ab6 100644 (file)
@@ -32,7 +32,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
                        /* mmal instance */
                        struct vchiq_mmal_instance *instance;
                        /* mmal port */
-@@ -167,6 +169,9 @@ struct vchiq_mmal_instance {
+@@ -168,6 +170,9 @@ struct vchiq_mmal_instance {
        /* component to use next */
        int component_idx;
        struct vchiq_mmal_component component[VCHIQ_MMAL_MAX_COMPONENTS];
@@ -42,7 +42,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
  };
  
  static struct mmal_msg_context *
-@@ -248,7 +253,44 @@ static void buffer_work_cb(struct work_s
+@@ -251,7 +256,44 @@ static void buffer_work_cb(struct work_s
                                            msg_context->u.bulk.mmal_flags,
                                            msg_context->u.bulk.dts,
                                            msg_context->u.bulk.pts);
@@ -87,7 +87,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
  }
  
  /* enqueue a bulk receive for a given message context */
-@@ -257,7 +299,6 @@ static int bulk_receive(struct vchiq_mma
+@@ -260,7 +302,6 @@ static int bulk_receive(struct vchiq_mma
                        struct mmal_msg_context *msg_context)
  {
        unsigned long rd_len;
@@ -95,7 +95,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
  
        rd_len = msg->u.buffer_from_host.buffer_header.length;
  
-@@ -293,45 +334,10 @@ static int bulk_receive(struct vchiq_mma
+@@ -294,45 +335,10 @@ static int bulk_receive(struct vchiq_mma
        msg_context->u.bulk.dts = msg->u.buffer_from_host.buffer_header.dts;
        msg_context->u.bulk.pts = msg->u.buffer_from_host.buffer_header.pts;
  
@@ -144,16 +144,16 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
  }
  
  /* data in message, memcpy from packet into output buffer */
-@@ -379,6 +385,8 @@ buffer_from_host(struct vchiq_mmal_insta
+@@ -380,6 +386,8 @@ buffer_from_host(struct vchiq_mmal_insta
  
        /* initialise work structure ready to schedule callback */
        INIT_WORK(&msg_context->u.bulk.work, buffer_work_cb);
 +      INIT_WORK(&msg_context->u.bulk.buffer_to_host_work,
 +                buffer_to_host_work_cb);
  
-       /* prep the buffer from host message */
-       memset(&m, 0xbc, sizeof(m));    /* just to make debug clearer */
-@@ -459,7 +467,7 @@ static void buffer_to_host_cb(struct vch
+       atomic_inc(&port->buffers_with_vpu);
+@@ -465,7 +473,7 @@ static void buffer_to_host_cb(struct vch
                if (msg->u.buffer_from_host.buffer_header.flags &
                    MMAL_BUFFER_HEADER_FLAG_EOS) {
                        msg_context->u.bulk.status =
@@ -162,7 +162,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
                        if (msg_context->u.bulk.status == 0)
                                return; /* successful bulk submission, bulk
                                         * completion will trigger callback
-@@ -1793,6 +1801,9 @@ int vchiq_mmal_finalise(struct vchiq_mma
+@@ -1789,6 +1797,9 @@ int vchiq_mmal_finalise(struct vchiq_mma
  
        mutex_unlock(&instance->vchiq_mutex);
  
@@ -172,7 +172,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
        vfree(instance->bulk_scratch);
  
        idr_destroy(&instance->context_map);
-@@ -1862,6 +1873,11 @@ int vchiq_mmal_init(struct vchiq_mmal_in
+@@ -1858,6 +1869,11 @@ int vchiq_mmal_init(struct vchiq_mmal_in
  
        params.callback_param = instance;
  
@@ -184,7 +184,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
        status = vchi_service_open(vchi_instance, &params, &instance->handle);
        if (status) {
                pr_err("Failed to open VCHI service connection (status=%d)\n",
-@@ -1876,8 +1892,9 @@ int vchiq_mmal_init(struct vchiq_mmal_in
+@@ -1872,8 +1888,9 @@ int vchiq_mmal_init(struct vchiq_mmal_in
        return 0;
  
  err_close_services: