Lines Matching refs:msg

61 #define	MBOX_CHAN(msg)		((msg) & 0xf)  argument
62 #define MBOX_DATA(msg) ((msg) & ~0xf) argument
85 int msg[BCM2835_MBOX_CHANS]; member
107 uint32_t msg; in bcm_mbox_read_msg() local
110 msg = mbox_read_4(sc, REG_READ); in bcm_mbox_read_msg()
111 dprintf("bcm_mbox_intr: raw data %08x\n", msg); in bcm_mbox_read_msg()
112 chan = MBOX_CHAN(msg); in bcm_mbox_read_msg()
114 data = MBOX_DATA(msg); in bcm_mbox_read_msg()
116 if (sc->msg[chan]) { in bcm_mbox_read_msg()
121 sc->msg[chan] = msg; in bcm_mbox_read_msg()
192 sc->msg[i] = 0; in bcm_mbox_attach()
266 *data = MBOX_DATA(sc->msg[chan]); in bcm_mbox_read()
267 sc->msg[chan] = 0; in bcm_mbox_read()
342 struct bcm2835_mbox_hdr *msg, size_t len) in bcm2835_mbox_err() argument
352 if (msg->code != BCM2835_MBOX_CODE_RESP_SUCCESS) { in bcm2835_mbox_err()
358 tag = (struct bcm2835_mbox_tag_hdr *)(msg + 1); in bcm2835_mbox_err()
359 last = (uint8_t *)msg + len; in bcm2835_mbox_err()
392 bcm2835_mbox_property(void *msg, size_t msg_size) in bcm2835_mbox_property() argument
419 memcpy(buf, msg, msg_size); in bcm2835_mbox_property()
430 memcpy(msg, buf, msg_size); in bcm2835_mbox_property()
433 (struct bcm2835_mbox_hdr *)msg, msg_size); in bcm2835_mbox_property()
446 struct msg_set_power_state msg; in bcm2835_mbox_set_power_state() local
449 memset(&msg, 0, sizeof(msg)); in bcm2835_mbox_set_power_state()
450 msg.hdr.buf_size = sizeof(msg); in bcm2835_mbox_set_power_state()
451 msg.hdr.code = BCM2835_MBOX_CODE_REQ; in bcm2835_mbox_set_power_state()
452 msg.tag_hdr.tag = BCM2835_MBOX_TAG_SET_POWER_STATE; in bcm2835_mbox_set_power_state()
453 msg.tag_hdr.val_buf_size = sizeof(msg.body); in bcm2835_mbox_set_power_state()
454 msg.tag_hdr.val_len = sizeof(msg.body.req); in bcm2835_mbox_set_power_state()
455 msg.body.req.device_id = device_id; in bcm2835_mbox_set_power_state()
456 msg.body.req.state = (on ? BCM2835_MBOX_POWER_ON : 0) | in bcm2835_mbox_set_power_state()
458 msg.end_tag = 0; in bcm2835_mbox_set_power_state()
460 err = bcm2835_mbox_property(&msg, sizeof(msg)); in bcm2835_mbox_set_power_state()
468 struct msg_notify_xhci_reset msg; in bcm2835_mbox_notify_xhci_reset() local
471 memset(&msg, 0, sizeof(msg)); in bcm2835_mbox_notify_xhci_reset()
472 msg.hdr.buf_size = sizeof(msg); in bcm2835_mbox_notify_xhci_reset()
473 msg.hdr.code = BCM2835_MBOX_CODE_REQ; in bcm2835_mbox_notify_xhci_reset()
474 msg.tag_hdr.tag = BCM2835_MBOX_TAG_NOTIFY_XHCI_RESET; in bcm2835_mbox_notify_xhci_reset()
475 msg.tag_hdr.val_buf_size = sizeof(msg.body); in bcm2835_mbox_notify_xhci_reset()
476 msg.tag_hdr.val_len = sizeof(msg.body.req); in bcm2835_mbox_notify_xhci_reset()
477 msg.body.req.pci_device_addr = pci_dev_addr; in bcm2835_mbox_notify_xhci_reset()
478 msg.end_tag = 0; in bcm2835_mbox_notify_xhci_reset()
480 err = bcm2835_mbox_property(&msg, sizeof(msg)); in bcm2835_mbox_notify_xhci_reset()
488 struct msg_get_clock_rate msg; in bcm2835_mbox_get_clock_rate() local
491 memset(&msg, 0, sizeof(msg)); in bcm2835_mbox_get_clock_rate()
492 msg.hdr.buf_size = sizeof(msg); in bcm2835_mbox_get_clock_rate()
493 msg.hdr.code = BCM2835_MBOX_CODE_REQ; in bcm2835_mbox_get_clock_rate()
494 msg.tag_hdr.tag = BCM2835_MBOX_TAG_GET_CLOCK_RATE; in bcm2835_mbox_get_clock_rate()
495 msg.tag_hdr.val_buf_size = sizeof(msg.body); in bcm2835_mbox_get_clock_rate()
496 msg.tag_hdr.val_len = sizeof(msg.body.req); in bcm2835_mbox_get_clock_rate()
497 msg.body.req.clock_id = clock_id; in bcm2835_mbox_get_clock_rate()
498 msg.end_tag = 0; in bcm2835_mbox_get_clock_rate()
500 err = bcm2835_mbox_property(&msg, sizeof(msg)); in bcm2835_mbox_get_clock_rate()
501 *hz = msg.body.resp.rate_hz; in bcm2835_mbox_get_clock_rate()
510 struct msg_fb_get_w_h msg; in bcm2835_mbox_fb_get_w_h() local
512 memset(&msg, 0, sizeof(msg)); in bcm2835_mbox_fb_get_w_h()
513 msg.hdr.buf_size = sizeof(msg); in bcm2835_mbox_fb_get_w_h()
514 msg.hdr.code = BCM2835_MBOX_CODE_REQ; in bcm2835_mbox_fb_get_w_h()
515 BCM2835_MBOX_INIT_TAG(&msg.physical_w_h, GET_PHYSICAL_W_H); in bcm2835_mbox_fb_get_w_h()
516 msg.physical_w_h.tag_hdr.val_len = 0; in bcm2835_mbox_fb_get_w_h()
517 msg.end_tag = 0; in bcm2835_mbox_fb_get_w_h()
519 err = bcm2835_mbox_property(&msg, sizeof(msg)); in bcm2835_mbox_fb_get_w_h()
521 fb->xres = msg.physical_w_h.body.resp.width; in bcm2835_mbox_fb_get_w_h()
522 fb->yres = msg.physical_w_h.body.resp.height; in bcm2835_mbox_fb_get_w_h()
532 struct msg_fb_get_bpp msg; in bcm2835_mbox_fb_get_bpp() local
534 memset(&msg, 0, sizeof(msg)); in bcm2835_mbox_fb_get_bpp()
535 msg.hdr.buf_size = sizeof(msg); in bcm2835_mbox_fb_get_bpp()
536 msg.hdr.code = BCM2835_MBOX_CODE_REQ; in bcm2835_mbox_fb_get_bpp()
537 BCM2835_MBOX_INIT_TAG(&msg.bpp, GET_DEPTH); in bcm2835_mbox_fb_get_bpp()
538 msg.bpp.tag_hdr.val_len = 0; in bcm2835_mbox_fb_get_bpp()
539 msg.end_tag = 0; in bcm2835_mbox_fb_get_bpp()
541 err = bcm2835_mbox_property(&msg, sizeof(msg)); in bcm2835_mbox_fb_get_bpp()
543 fb->bpp = msg.bpp.body.resp.bpp; in bcm2835_mbox_fb_get_bpp()
552 struct msg_fb_setup msg; in bcm2835_mbox_fb_init() local
554 memset(&msg, 0, sizeof(msg)); in bcm2835_mbox_fb_init()
555 msg.hdr.buf_size = sizeof(msg); in bcm2835_mbox_fb_init()
556 msg.hdr.code = BCM2835_MBOX_CODE_REQ; in bcm2835_mbox_fb_init()
557 BCM2835_MBOX_INIT_TAG(&msg.physical_w_h, SET_PHYSICAL_W_H); in bcm2835_mbox_fb_init()
558 msg.physical_w_h.body.req.width = fb->xres; in bcm2835_mbox_fb_init()
559 msg.physical_w_h.body.req.height = fb->yres; in bcm2835_mbox_fb_init()
560 BCM2835_MBOX_INIT_TAG(&msg.virtual_w_h, SET_VIRTUAL_W_H); in bcm2835_mbox_fb_init()
561 msg.virtual_w_h.body.req.width = fb->vxres; in bcm2835_mbox_fb_init()
562 msg.virtual_w_h.body.req.height = fb->vyres; in bcm2835_mbox_fb_init()
563 BCM2835_MBOX_INIT_TAG(&msg.offset, SET_VIRTUAL_OFFSET); in bcm2835_mbox_fb_init()
564 msg.offset.body.req.x = fb->xoffset; in bcm2835_mbox_fb_init()
565 msg.offset.body.req.y = fb->yoffset; in bcm2835_mbox_fb_init()
566 BCM2835_MBOX_INIT_TAG(&msg.depth, SET_DEPTH); in bcm2835_mbox_fb_init()
567 msg.depth.body.req.bpp = fb->bpp; in bcm2835_mbox_fb_init()
568 BCM2835_MBOX_INIT_TAG(&msg.alpha, SET_ALPHA_MODE); in bcm2835_mbox_fb_init()
569 msg.alpha.body.req.alpha = BCM2835_MBOX_ALPHA_MODE_IGNORED; in bcm2835_mbox_fb_init()
570 BCM2835_MBOX_INIT_TAG(&msg.buffer, ALLOCATE_BUFFER); in bcm2835_mbox_fb_init()
571 msg.buffer.body.req.alignment = PAGE_SIZE; in bcm2835_mbox_fb_init()
572 BCM2835_MBOX_INIT_TAG(&msg.pitch, GET_PITCH); in bcm2835_mbox_fb_init()
573 msg.end_tag = 0; in bcm2835_mbox_fb_init()
575 err = bcm2835_mbox_property(&msg, sizeof(msg)); in bcm2835_mbox_fb_init()
577 fb->xres = msg.physical_w_h.body.resp.width; in bcm2835_mbox_fb_init()
578 fb->yres = msg.physical_w_h.body.resp.height; in bcm2835_mbox_fb_init()
579 fb->vxres = msg.virtual_w_h.body.resp.width; in bcm2835_mbox_fb_init()
580 fb->vyres = msg.virtual_w_h.body.resp.height; in bcm2835_mbox_fb_init()
581 fb->xoffset = msg.offset.body.resp.x; in bcm2835_mbox_fb_init()
582 fb->yoffset = msg.offset.body.resp.y; in bcm2835_mbox_fb_init()
583 fb->pitch = msg.pitch.body.resp.pitch; in bcm2835_mbox_fb_init()
584 fb->base = VCBUS_TO_ARMC(msg.buffer.body.resp.fb_address); in bcm2835_mbox_fb_init()
585 fb->size = msg.buffer.body.resp.fb_size; in bcm2835_mbox_fb_init()