Lines Matching refs:sccb
110 static inline int abbrev_len(sclp_cmdw_t cmd, struct sccb_header *sccb)
112 struct evbuf_header *evbuf = (struct evbuf_header *)(sccb + 1);
113 int len = sccb->length, limit = SCLP_TRACE_MAX_SIZE;
128 sclp_cmdw_t cmd, struct sccb_header *sccb,
132 if (sccb) {
133 sclp_trace_bin(prio + 1, sccb, abbrev_len(cmd, sccb),
134 err ? sccb->length : 0);
150 struct sccb_header *sccb = req->sccb;
162 summary.response = sccb ? sccb->response_code : 0;
166 sclp_trace(prio, id, __pa(sccb), summary.b, err);
367 /* RQTM: Request timed out (a=sccb, b=summary) */
382 static int sclp_service_call_trace(sclp_cmdw_t command, void *sccb)
387 /* SRV1: Service call about to be issued (a=command, b=sccb address) */
388 sclp_trace_sccb(0, "SRV1", command, (u64)sccb, command, sccb, false);
390 rc = sclp_service_call(command, sccb);
412 rc = sclp_service_call_trace(req->command, req->sccb);
463 /* RQAB: Request aborted (a=sccb, b=summary) */
499 /* RQAD: Request was added (a=sccb, b=caller) */
500 sclp_trace(2, "RQAD", __pa(req->sccb), _RET_IP_, false);
529 sclp_dispatch_evbufs(struct sccb_header *sccb)
540 for (offset = sizeof(struct sccb_header); offset < sccb->length;
542 evbuf = (struct evbuf_header *) ((addr_t) sccb + offset);
576 struct sccb_header *sccb;
578 sccb = (struct sccb_header *) req->sccb;
579 if (req->status == SCLP_REQ_DONE && (sccb->response_code == 0x20 ||
580 sccb->response_code == 0x220))
581 sclp_dispatch_evbufs(sccb);
590 struct sccb_header *sccb;
592 sccb = (struct sccb_header *) sclp_read_sccb;
593 clear_page(sccb);
599 sclp_read_req.sccb = sccb;
600 sccb->length = PAGE_SIZE;
601 sccb->function_code = 0;
602 sccb->control_mask[2] = 0x80;
605 /* Search request list for request with matching sccb. Return request if found,
608 __sclp_find_req(u32 sccb)
615 if (sccb == __pa(req->sccb))
623 struct sccb_header *sccb = (struct sccb_header *)__va(sccb_int);
627 if (!sccb)
631 response = sccb->response_code & 0xff;
637 evbuf = (struct evbuf_header *)(sccb + 1);
674 /* RQOK: Request success (a=sccb, b=summary) */
683 /* UNEX: Unexpected SCCB completion (a=sccb address) */
914 sclp_remove_processed(struct sccb_header *sccb)
920 evbuf = (struct evbuf_header *) (sccb + 1);
922 remaining = sccb->length - sizeof(struct sccb_header);
926 sccb->length -= evbuf->length;
944 struct init_sccb *sccb = sclp_init_sccb;
946 clear_page(sccb);
953 sclp_init_req.sccb = sccb;
954 sccb->header.length = sizeof(*sccb);
956 sccb->mask_length = SCLP_MASK_SIZE_COMPAT;
958 sccb->mask_length = sizeof(sccb_mask_t);
959 sccb_set_recv_mask(sccb, receive_mask);
960 sccb_set_send_mask(sccb, send_mask);
961 sccb_set_sclp_recv_mask(sccb, 0);
962 sccb_set_sclp_send_mask(sccb, 0);
972 struct init_sccb *sccb = sclp_init_sccb;
1015 sccb->header.response_code == 0x20) {
1018 sclp_receive_mask = sccb_get_sclp_recv_mask(sccb);
1019 sclp_send_mask = sccb_get_sclp_send_mask(sccb);
1137 struct init_sccb *sccb;
1151 sccb = (struct init_sccb *) sclp_init_req.sccb;
1152 rc = sclp_service_call_trace(sclp_init_req.command, sccb);
1172 if (sccb->header.response_code == 0x20) {
1175 } else if (sccb->header.response_code == 0x74f0) {