On Fri, Nov 25, 2016 at 11:23:19AM +0000, Chris Wilson wrote: > > +int intel_guc_logging_control(struct intel_guc *guc, u32 control_val) > > +{ > > + u32 data[2]; > > + > > + data[0] = INTEL_GUC_ACTION_UK_LOG_ENABLE_LOGGING; > > + data[1] = control_val; > > + > > + return intel_guc_send(guc, data, 2); > > u32 pkt[] = { > INTEL_GUC_ACTION_UK_LOG_ENABLE_LOGGING, > control_val, > }; > return intel_guc_send(guc, pkt, ARRAY_SIZE(pkt); > > Or being fancy > return intel_guc_send_cmd(guc, { > INTEL_GUC_ACTION_UK_LOG_ENABLE_LOGGING, > control_val > }); > > #define intel_guc_send_cmd(G, PKT) ({ \ > u32 pkt__[] = PKT;\ > intel_guc_send(G, pkt__, ARRAY_SIZE(pkt__)); \ > )} > > or intel_guc_send_pkt #define intel_guc_send_pkt(G, PKT...) ({ \ u32 pkt__[] = { PKT }; \ host2guc_action((G), pkt__, ARRAY_SIZE(pkt__)); \ }) static int host2guc_allocate_doorbell(struct intel_guc *guc, struct i915_guc_client *client) { return intel_guc_send_pkt(guc, HOST2GUC_ACTION_ALLOCATE_DOORBELL, client->ctx_index); } At which point, you may want to call that intel_guc_send() and rename the other __intel_guc_send() :) -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx