Home | History | Annotate | Download | only in acpi

Lines Matching refs:ss

176 	struct pcc_subspace * const ss = &sc->sc_ss[id];
179 ss->ss_id = id;
180 ss->ss_type = header->Type;
181 ss->ss_data = AcpiOsMapMemory(generic->BaseAddress, generic->Length);
182 if (ss->ss_data == NULL) {
186 ss->ss_len = generic->Length;
187 ss->ss_doorbell_reg.reg_addr = generic->DoorbellRegister;
188 ss->ss_doorbell_reg.reg_preserve = generic->PreserveMask;
189 ss->ss_doorbell_reg.reg_set = generic->WriteMask;
190 mutex_init(&ss->ss_lock, MUTEX_DEFAULT, IPL_NONE);
199 pcc_wait_command(struct pcc_subspace *ss, bool first)
204 switch (ss->ss_type) {
221 shmem = ss->ss_data;
222 retry = imax(1000, ss->ss_turnaround + ss->ss_latency * 100);
263 pcc_send_command(struct pcc_subspace *ss, ACPI_GENERIC_ADDRESS *reg,
266 volatile ACPI_PCCT_SHARED_MEMORY *shmem = ss->ss_data;
270 KASSERT(ss->ss_type == ACPI_PCCT_TYPE_GENERIC_SUBSPACE ||
271 ss->ss_type == ACPI_PCCT_TYPE_HW_REDUCED_SUBSPACE ||
272 ss->ss_type == ACPI_PCCT_TYPE_HW_REDUCED_SUBSPACE_TYPE2);
274 shmem->Signature = PCC_SIGNATURE(ss->ss_id);
289 return pcc_doorbell(&ss->ss_doorbell_reg);
298 pcc_receive_response(struct pcc_subspace *ss, ACPI_GENERIC_ADDRESS *reg,
301 volatile ACPI_PCCT_SHARED_MEMORY *shmem = ss->ss_data;
305 KASSERT(ss->ss_type == ACPI_PCCT_TYPE_GENERIC_SUBSPACE ||
306 ss->ss_type == ACPI_PCCT_TYPE_HW_REDUCED_SUBSPACE ||
307 ss->ss_type == ACPI_PCCT_TYPE_HW_REDUCED_SUBSPACE_TYPE2);
335 struct pcc_subspace *ss;
349 ss = &sc->sc_ss[ss_id];
350 switch (ss->ss_type) {
359 mutex_enter(&ss->ss_lock);
362 rv = pcc_wait_command(ss, true);
368 rv = pcc_send_command(ss, reg, command, flags, *val);
374 rv = pcc_wait_command(ss, false);
380 rv = pcc_receive_response(ss, reg, flags, val);
382 if (ss->ss_turnaround != 0)
383 delay(ss->ss_turnaround);
386 mutex_exit(&ss->ss_lock);