Lines Matching full:output

25  * struct gth_output - GTH view on an output port
27 * @output: link to output device's output descriptor
28 * @index: output port number
30 * @master: bitmap of masters configured for this output
34 struct intel_th_output *output; member
44 * @output_group: attributes describing output ports
46 * @output: output ports
47 * @master: master/output port assignments
56 struct gth_output output[TH_POSSIBLE_OUTPUTS]; member
181 /* disconnect from the previous output port, if any */ in master_attr_store()
185 clear_bit(ma->master, gth->output[old_port].master); in master_attr_store()
191 if (gth->output[old_port].output->active) in master_attr_store()
195 /* connect to the new output port, if any */ in master_attr_store()
198 if (!gth->output[port].output) { in master_attr_store()
203 set_bit(ma->master, gth->output[port].master); in master_attr_store()
206 if (gth->output[port].output->active) in master_attr_store()
242 OUTPUT_PARM(port, 0x7, 1, 0, output),
243 OUTPUT_PARM(null, BIT(3), 1, 1, output),
244 OUTPUT_PARM(drop, BIT(4), 1, 1, output),
245 OUTPUT_PARM(reset, BIT(5), 1, 0, output),
246 OUTPUT_PARM(flush, BIT(7), 0, 1, output),
291 /* output ports */ in intel_th_gth_reset()
465 * intel_th_gth_stop() - stop tracing to an output device
467 * @output: output device's descriptor
471 * pipelines to be empty for the corresponding output port.
474 struct intel_th_output *output, in intel_th_gth_stop() argument
478 container_of(output, struct intel_th_device, output); in intel_th_gth_stop()
490 count && !(reg & BIT(output->port)); count--) { in intel_th_gth_stop()
497 output->port); in intel_th_gth_stop()
499 /* wait on output piepline empty */ in intel_th_gth_stop()
508 * intel_th_gth_start() - start tracing to an output device
510 * @output: output device's descriptor
515 struct intel_th_output *output) in intel_th_gth_start() argument
519 if (output->multiblock) in intel_th_gth_start()
527 * intel_th_gth_disable() - disable tracing to an output device
529 * @output: output device's descriptor
531 * This will deconfigure all masters set to output to this device,
533 * "pipeline empty" bit for corresponding output port.
536 struct intel_th_output *output) in intel_th_gth_disable() argument
543 output->active = false; in intel_th_gth_disable()
545 for_each_set_bit(master, gth->output[output->port].master, in intel_th_gth_disable()
551 intel_th_gth_stop(gth, output, true); in intel_th_gth_disable()
554 reg &= ~output->scratchpad; in intel_th_gth_disable()
568 struct intel_th_output *output) in intel_th_gth_prepare() argument
574 * Wait until the output port is in reset before we start in intel_th_gth_prepare()
578 count && !(gth_output_get(gth, output->port) & BIT(5)); count--) in intel_th_gth_prepare()
583 * intel_th_gth_enable() - enable tracing to an output device
585 * @output: output device's descriptor
587 * This will configure all masters set to output to this device and
591 struct intel_th_output *output) in intel_th_gth_enable() argument
599 for_each_set_bit(master, gth->output[output->port].master, in intel_th_gth_enable()
601 gth_master_set(gth, master, output->port); in intel_th_gth_enable()
604 output->active = true; in intel_th_gth_enable()
611 scrpd |= output->scratchpad; in intel_th_gth_enable()
614 intel_th_gth_start(gth, output); in intel_th_gth_enable()
620 * @output: output device's descriptor
626 struct intel_th_output *output) in intel_th_gth_switch() argument
647 intel_th_gth_stop(gth, output, false); in intel_th_gth_switch()
648 intel_th_gth_start(gth, output); in intel_th_gth_switch()
652 * intel_th_gth_assign() - assign output device to a GTH output port
654 * @othdev: output device
656 * This will match a given output device parameters against present
657 * output ports on the GTH and fill out relevant bits in output device's
675 if (gth->output[i].port_type != othdev->output.type) in intel_th_gth_assign()
688 othdev->output.port = i; in intel_th_gth_assign()
689 othdev->output.active = false; in intel_th_gth_assign()
690 gth->output[i].output = &othdev->output; in intel_th_gth_assign()
697 * intel_th_gth_unassign() - deassociate an output device from its output port
699 * @othdev: output device
705 int port = othdev->output.port; in intel_th_gth_unassign()
712 othdev->output.port = -1; in intel_th_gth_unassign()
713 othdev->output.active = false; in intel_th_gth_unassign()
714 gth->output[port].output = NULL; in intel_th_gth_unassign()
725 int port = 0; /* FIXME: make default output configurable */ in intel_th_gth_set_output()
736 set_bit(master, gth->output[port].master); in intel_th_gth_set_output()
774 * capture configuration attributes. Also, refuse to assign output in intel_th_gth_probe()
794 gth->output[i].gth = gth; in intel_th_gth_probe()
795 gth->output[i].index = i; in intel_th_gth_probe()
796 gth->output[i].port_type = in intel_th_gth_probe()
798 if (gth->output[i].port_type == GTH_NONE) in intel_th_gth_probe()
801 ret = intel_th_output_enable(th, gth->output[i].port_type); in intel_th_gth_probe()