Lines Matching full:instance
26 * one specific instance). Reads of MCR registers always operate in a unicast
28 * Selection of a specific MCR instance for unicast operations is referred to
47 "INSTANCE 0",
238 * @instance: instance number (documented as "subsliceid" on older platforms)
248 int group, int instance, u32 value) in rw_with_mcr_steering_fw() argument
259 * to unicast mode when doing writes of a specific instance. in rw_with_mcr_steering_fw()
265 REG_FIELD_PREP(MTL_MCR_INSTANCEID, instance) | in rw_with_mcr_steering_fw()
269 mcr_ss = GEN11_MCR_SLICE(group) | GEN11_MCR_SUBSLICE(instance); in rw_with_mcr_steering_fw()
276 * from a single register instance regardless of how that bit in rw_with_mcr_steering_fw()
294 mcr_ss = GEN8_MCR_SLICE(group) | GEN8_MCR_SUBSLICE(instance); in rw_with_mcr_steering_fw()
325 int group, int instance, in rw_with_mcr_steering() argument
343 val = rw_with_mcr_steering_fw(gt, reg, rw_flag, group, instance, value); in rw_with_mcr_steering()
443 * intel_gt_mcr_read - read a specific instance of an MCR register
447 * @instance: the MCR instance
452 * group/instance.
456 int group, int instance) in intel_gt_mcr_read() argument
458 return rw_with_mcr_steering(gt, reg, FW_REG_READ, group, instance, 0); in intel_gt_mcr_read()
462 * intel_gt_mcr_unicast_write - write a specific instance of an MCR register
467 * @instance: the MCR instance
470 * group/instance.
475 int group, int instance) in intel_gt_mcr_unicast_write() argument
477 rw_with_mcr_steering(gt, reg, FW_REG_WRITE, group, instance, value); in intel_gt_mcr_unicast_write()
546 * instance and the write will be applied to all instances.
606 * @instance: Instance ID returned
608 * Determines group and instance values that will steer reads of the specified
609 * MCR class to a non-terminated instance.
613 u8 *group, u8 *instance) in get_nonterminated_steering() argument
620 *instance = __ffs(gt->info.l3bank_mask); in get_nonterminated_steering()
625 *instance = 0; /* unused */ in get_nonterminated_steering()
634 *instance = 0; /* unused */ in get_nonterminated_steering()
638 *instance = 0; in get_nonterminated_steering()
643 *instance = dss % GEN_DSS_PER_GSLICE; in get_nonterminated_steering()
647 * There are a lot of MCR types for which instance (0, 0) in get_nonterminated_steering()
651 *instance = 0; in get_nonterminated_steering()
658 *instance = 0; in get_nonterminated_steering()
663 *instance = 0; in get_nonterminated_steering()
668 * intel_gt_mcr_get_nonterminated_steering - find group/instance values that
669 * will steer a register to a non-terminated instance
673 * @instance: return variable for instance steering
675 * This function returns a group/instance pair that is guaranteed to work for
682 u8 *group, u8 *instance) in intel_gt_mcr_get_nonterminated_steering() argument
688 get_nonterminated_steering(gt, type, group, instance); in intel_gt_mcr_get_nonterminated_steering()
694 *instance = gt->default_steering.instanceid; in intel_gt_mcr_get_nonterminated_steering()
698 * intel_gt_mcr_read_any_fw - reads one instance of an MCR register
703 * instance (i.e., one that isn't fused off or powered down by power gating).
710 * Returns the value from a non-terminated instance of @reg.
715 u8 group, instance; in intel_gt_mcr_read_any_fw() local
721 get_nonterminated_steering(gt, type, &group, &instance); in intel_gt_mcr_read_any_fw()
724 group, instance, 0); in intel_gt_mcr_read_any_fw()
732 * intel_gt_mcr_read_any - reads one instance of an MCR register
737 * instance (i.e., one that isn't fused off or powered down by power gating).
741 * Returns the value from a non-terminated instance of @reg.
746 u8 group, instance; in intel_gt_mcr_read_any() local
750 get_nonterminated_steering(gt, type, &group, &instance); in intel_gt_mcr_read_any()
753 group, instance, 0); in intel_gt_mcr_read_any()
766 u8 group, instance; in report_steering_type() local
776 get_nonterminated_steering(gt, type, &group, &instance); in report_steering_type()
777 drm_printf(p, "%s steering: group=0x%x, instance=0x%x\n", in report_steering_type()
778 intel_steering_types[type], group, instance); in report_steering_type()
795 drm_printf(p, "Default steering: group=0x%x, instance=0x%x\n", in intel_gt_mcr_report_steering()
812 * intel_gt_mcr_get_ss_steering - returns the group/instance steering for a SS
816 * @instance: pointer to storage for steering instance ID
818 * Returns the steering IDs (via the @group and @instance parameters) that
822 unsigned int *group, unsigned int *instance) in intel_gt_mcr_get_ss_steering() argument
826 *instance = dss % GEN_DSS_PER_CSLICE; in intel_gt_mcr_get_ss_steering()
829 *instance = dss % GEN_DSS_PER_GSLICE; in intel_gt_mcr_get_ss_steering()
832 *instance = dss % GEN_MAX_SS_PER_HSW_SLICE; in intel_gt_mcr_get_ss_steering()
859 * instance.