-
-
Save nmenon/c7a3a8c0de0a65b06334190ca9350ead to your computer and use it in GitHub Desktop.
omap_timer_probe
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
B::Frame_/Locals_/Caller | |
-000|omap_timer_probe(dev = 0x43C34064) | |
| dev = 0x43C34064 | |
| | |
-001|device_probe(:dev = 0x43C34064) | |
| dev = 0x43C34064 | |
| drv = 0x43C1E0DC | |
| ret = ??? | |
| __func__ = (100, 101, 118, 105, 99, 101, 95, 112, 114, 111, 98, 101, 0) | |
| | |
583| ret = drv->probe(dev); | |
-002|uclass_get_device_tail(inline) | |
| ret = ??? | |
| devp = 0x43C334FC | |
| dev = 0x43C34064 | |
| | |
| } | |
| | |
| return -ENODEV; | |
|} | |
| | |
|int uclass_get_device_tail(struct udevice *dev, int ret, struct udevice **devp) | |
| return ret; | |
| | |
| assert(dev); | |
480| ret = device_probe(dev); | |
-002|uclass_get_device_tail(:dev = 0x77, :ret = 3748, :devp = 0x43C334FC) | |
| dev = 0x43C34064 | |
| ret = 3748 | |
| devp = 0x43C334FC | |
| | |
474|int uclass_get_device_tail(struct udevice *dev, int ret, struct udevice **devp) | |
-003|dm_timer_init() | |
| dev = 0x0 | |
| node = (np = 0x0EA4, of_offset = 3748) | |
| | |
| return ret; | |
| } | |
| | |
180| if (dev) { | |
-004|get_ticks() | |
| count = 4882826085190027356 | |
| ret = ??? | |
| | |
| int ret; | |
| | |
| if (IS_ENABLED(CONFIG_TIMER_EARLY)) | |
| return timer_early_get_count(); | |
| | |
97| ret = dm_timer_init(); | |
-005|timer_get_us() | |
| | |
|... | |
| | |
|unsigned long __weak get_timer_us_long(unsigned long base) | |
|{ | |
| return timer_get_us() - base; | |
|} | |
| | |
|unsigned long __weak notrace timer_get_us(void) | |
|{ | |
171| return tick_to_time(get_ticks() * 1000); | |
-006|mbox_recv(:chan = 0x43C3485C, :data = 0x43C34874, timeout_us = 10000000) | |
| chan = 0x43C3485C | |
| data = 0x43C34874 | |
| timeout_us = 10000000 | |
| ops = 0x43C1D934 | |
| | |
| ulong start_time; | |
| int ret; | |
| | |
| debug("%s(chan=%p, data=%p, timeout_us=%ld)\n", __func__, chan, data, | |
| timeout_us); | |
| | |
136| start_time = timer_get_us(); | |
-007|ti_sci_get_response(inline) | |
| chan = 0x43C3485C | |
| xfer = 0x43C34874 | |
| info = 0x43C34758 | |
| msg = 0x43C34874 | |
| ret = ??? | |
| | |
| ret = ti_sci_get_response(info, xfer, &info->chan_rx); | |
|... | |
| * @info: Pointer to SCI entity information | |
| * @xfer: Transfer to initiate and wait for response | |
| * @chan: Channel to receive the response | |
| * | |
| * Return: -ETIMEDOUT in case of no response, if transmit error, | |
| * return corresponding error, else if all goes well, | |
| * return 0. | |
| */ | |
|static int ti_sci_get_response(struct ti_sci_info *info, | |
| struct ti_sci_xfer *xfer, | |
| struct mbox_chan *chan) | |
|{ | |
| struct k3_sec_proxy_msg *msg = &xfer->tx_message; | |
| struct ti_sci_secure_msg_hdr *secure_hdr; | |
| struct ti_sci_msg_hdr *hdr; | |
| int ret; | |
| | |
| /* Receive the response */ | |
177| ret = mbox_recv(chan, msg, info->desc->max_rx_timeout_ms * 1000); | |
-007|ti_sci_do_xfer(:info = 0x43C34758, :xfer = 0x43C34874) | |
| info = 0x43C34758 | |
| xfer = 0x43C34874 | |
| msg = 0x43C34874 | |
| secure_buf = () | |
| ret = 0 | |
| __func__ = (116, 105, 95, 115, 99, 105, 95, 100, 111, 95, 120, 102, 101, 114, 0) | |
| | |
266| ret = ti_sci_get_response(info, xfer, &info->chan_rx); | |
-008|ti_sci_cmd_get_revision(inline) | |
| handle = 0x43C34760 | |
| hdr = (type = 2, host = 35, seq = 245, flags = 2) | |
| info = 0x43C34758 | |
| xfer = 0x43C34874 | |
| ret = ??? | |
| | |
| } | |
| | |
309| ret = ti_sci_do_xfer(info, xfer); | |
-008|ti_sci_probe(:dev = 0x43C33C7C) | |
| dev = 0x43C33C7C | |
| info = 0x43C34758 | |
| __func__ = (116, 105, 95, 115, 99, 105, 95, 112, 114, 111, 98, 101, 0) | |
| | |
2828| ret = ti_sci_cmd_get_revision(&info->handle); | |
-009|device_probe(dev = 0x43C33C7C) | |
| dev = 0x43C33C7C | |
| drv = 0x43C1E384 | |
| ret = ??? | |
| __func__ = (100, 101, 118, 105, 99, 101, 95, 112, 114, 111, 98, 101, 0) | |
| | |
583| ret = drv->probe(dev); | |
-010|device_probe(:dev = 0x43C33D4C) | |
| dev = 0x43C33D4C | |
| drv = 0x43C1E2B8 | |
| ret = ??? | |
| __func__ = (100, 101, 118, 105, 99, 101, 95, 112, 114, 111, 98, 101, 0) | |
| | |
504| ret = device_probe(dev->parent); | |
-011|uclass_get_device_tail(inline) | |
| ret = ??? | |
| devp = 0x43C335F4 | |
| dev = 0x43C33D4C | |
| | |
| } | |
| | |
| return -ENODEV; | |
|} | |
| | |
|int uclass_get_device_tail(struct udevice *dev, int ret, struct udevice **devp) | |
| return ret; | |
| | |
| assert(dev); | |
480| ret = device_probe(dev); | |
-011|uclass_get_device_tail(:dev = 0x1E, ret = ?, :devp = 0x43C335F4) | |
| dev = 0x43C33D4C | |
| ret = ? | |
| devp = 0x43C335F4 | |
| | |
474|int uclass_get_device_tail(struct udevice *dev, int ret, struct udevice **devp) | |
-012|clk_get_by_index_tail(:args = 0x43C33610, :clk = 0x43C33668, :index = 0, :list_name = 0x0, ret = ???) | |
| args = 0x43C33610 | |
| clk = 0x43C33668 | |
| index = 0 | |
| list_name = 0x0 | |
| ret = ??? | |
| dev_clk = 0x0 | |
| | |
|} | |
| | |
|static int clk_get_by_index_tail(int ret, ofnode node, | |
| goto err; | |
| | |
87| ret = uclass_get_device_by_ofnode(UCLASS_CLK, args->node, &dev_clk); | |
-013|clk_get_by_index_tail(inline) | |
| | |
84| if (ret) | |
-013|clk_get_by_index_nodev(:node = (np = 0x43C340CC, of_offset = 1136869580), :index = 0, :clk = 0x43C33668) | |
| index = 0 | |
| clk = 0x43C33668 | |
| args = (node = (np = 0x0A84, of_offset = 2692), args_count = 2, args = (146, 0, 1136866884, 1136669315, 1136783072, 4184, 4172, 4164, 1136787292, 1136669737, 1136783072, 9, 1136866884, 1136783072, 3968, 1136866884)) | |
| | |
152| return clk_get_by_index_tail(ret, node, &args, "clocks", | |
-013|clk_get_by_index(tailcall) | |
-014|omap_serial_of_to_plat(:dev = 0x43C340CC) | |
| dev = 0x43C340CC | |
| plat = 0x43C3411C | |
| clk = (dev = 0x0, rate = 4881958522134204288, flags = 1, enable_count = 1136867028, id = 0, data = 1136667177) | |
| err = ??? | |
| | |
| plat->reg_shift = 2; | |
| | |
119| err = clk_get_by_index(dev, 0, &clk); | |
-015|device_of_to_plat(:dev = 0x43C340CC) | |
| dev = 0x43C340CC | |
| ret = ??? | |
| | |
| (CONFIG_IS_ENABLED(OF_PLATDATA) || dev_has_ofnode(dev))) { | |
429| ret = drv->of_to_plat(dev); | |
-016|device_probe(:dev = 0x43C340CC) | |
| dev = 0x43C340CC | |
| drv = 0x43C1E098 | |
| ret = ??? | |
| __func__ = (100, 101, 118, 105, 99, 101, 95, 112, 114, 111, 98, 101, 0) | |
| | |
| assert(drv); | |
| | |
498| ret = device_of_to_plat(dev); | |
-017|uclass_get_device_tail(inline) | |
| ret = ??? | |
| devp = 0x43C336D4 | |
| dev = 0x43C340CC | |
| | |
| } | |
| | |
| return -ENODEV; | |
|} | |
| | |
|int uclass_get_device_tail(struct udevice *dev, int ret, struct udevice **devp) | |
| return ret; | |
| | |
| assert(dev); | |
480| ret = device_probe(dev); | |
-017|uclass_get_device_tail(:dev = 0x69, :ret = 3968, :devp = 0x43C336D4) | |
| dev = 0x43C340CC | |
| ret = 3968 | |
| devp = 0x43C336D4 | |
| | |
474|int uclass_get_device_tail(struct udevice *dev, int ret, struct udevice **devp) | |
-018|serial_check_stdout(inline) | |
| devp = 0x43C336D4 | |
| blob = 0x43C1EEE0 | |
| node = 3968 | |
| | |
56| if (!uclass_get_device_by_of_offset(UCLASS_SERIAL, node, devp)) | |
-018|serial_find_console_or_panic(inline) | |
| blob = 0x43C1EEE0 | |
| dev = 0x0 | |
| | |
98| if (!serial_check_stdout(blob, &dev)) { | |
-018|serial_init() | |
| | |
161| serial_find_console_or_panic(); | |
-019|preloader_console_init() | |
| | |
927| serial_init(); /* serial communications setup */ | |
-020|board_init_f(dummy = ?) | |
| dummy = ? | |
| dev = 0x0 | |
| | |
163| preloader_console_init(); | |
-021|_main() | |
| | |
127| bl board_init_f | |
-022|board_init_r(dummy1 = 0x43C33700, dummy2 = 0) | |
| dummy1 = 0x43C33700 | |
| dummy2 = 0 | |
| spl_boot_list = (1136687883, 1136869580, 3968, 1136783072, 1136725073) | |
| spl_image = (name = 0x3, os = 240, load_addr = 153137595, entry_point = 0, fdt_addr = 0x69, boot_device = 0, offset = 100, size = 1136661647, flags = 1136869520, arg = 0x43C00273) | |
| | |
---|end of frame |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
B::Frame | |
-000|omap_timer_probe(dev = 0x43C34064) | |
-001|device_probe(:dev = 0x43C34064) | |
-002|uclass_get_device_tail(inline) | |
-002|uclass_get_device_tail(:dev = 0x77, :ret = 3748, :devp = 0x43C334FC) | |
-003|dm_timer_init() | |
-004|get_ticks() | |
-005|timer_get_us() | |
-006|mbox_recv(:chan = 0x43C3485C, :data = 0x43C34874, timeout_us = 10000000) | |
-007|ti_sci_get_response(inline) | |
-007|ti_sci_do_xfer(:info = 0x43C34758, :xfer = 0x43C34874) | |
-008|ti_sci_cmd_get_revision(inline) | |
-008|ti_sci_probe(:dev = 0x43C33C7C) | |
-009|device_probe(dev = 0x43C33C7C) | |
-010|device_probe(:dev = 0x43C33D4C) | |
-011|uclass_get_device_tail(inline) | |
-011|uclass_get_device_tail(:dev = 0x1E, ret = ?, :devp = 0x43C335F4) | |
-012|clk_get_by_index_tail(:args = 0x43C33610, :clk = 0x43C33668, :index = 0, :list_name = 0x0, ret = ???) | |
-013|clk_get_by_index_tail(inline) | |
-013|clk_get_by_index_nodev(:node = (np = 0x43C340CC, of_offset = 1136869580), :index = 0, :clk = 0x43C33668) | |
-013|clk_get_by_index(tailcall) | |
-014|omap_serial_of_to_plat(:dev = 0x43C340CC) | |
-015|device_of_to_plat(:dev = 0x43C340CC) | |
-016|device_probe(:dev = 0x43C340CC) | |
-017|uclass_get_device_tail(inline) | |
-017|uclass_get_device_tail(:dev = 0x69, :ret = 3968, :devp = 0x43C336D4) | |
-018|serial_check_stdout(inline) | |
-018|serial_find_console_or_panic(inline) | |
-018|serial_init() | |
-019|preloader_console_init() | |
-020|board_init_f(dummy = ?) | |
-021|_main() | |
-022|board_init_r(dummy1 = 0x43C33700, dummy2 = 0) | |
---|end of frame |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment