Searched refs:dts (Results 1 - 112 of 112) sorted by relevance

/linux-4.4.14/arch/arm64/boot/dts/
H A DMakefile0 dts-dirs += altera
2 dts-dirs += amd
3 dts-dirs += apm
4 dts-dirs += arm
5 dts-dirs += broadcom
6 dts-dirs += cavium
7 dts-dirs += exynos
8 dts-dirs += freescale
9 dts-dirs += hisilicon
10 dts-dirs += marvell
11 dts-dirs += mediatek
12 dts-dirs += qcom
13 dts-dirs += rockchip
14 dts-dirs += sprd
15 dts-dirs += xilinx
17 subdir-y := $(dts-dirs)
21 dtb-$(CONFIG_OF_ALL_DTBS) := $(patsubst $(dtstree)/%.dts,%.dtb, $(foreach d,$(dts-dirs), $(wildcard $(dtstree)/$(d)/*.dts)))
/linux-4.4.14/arch/mips/boot/dts/
H A DMakefile0 dts-dirs += brcm
2 dts-dirs += cavium-octeon
3 dts-dirs += ingenic
4 dts-dirs += lantiq
5 dts-dirs += mti
6 dts-dirs += netlogic
7 dts-dirs += qca
8 dts-dirs += ralink
9 dts-dirs += xilfpga
11 obj-y := $(addsuffix /, $(dts-dirs))
14 dtb-$(CONFIG_OF_ALL_DTBS) := $(patsubst $(dtstree)/%.dts,%.dtb, $(foreach d,$(dts-dirs), $(wildcard $(dtstree)/$(d)/*.dts)))
17 subdir-y := $(dts-dirs)
/linux-4.4.14/arch/arm64/boot/dts/altera/
H A DMakefile4 subdir-y := $(dts-dirs)
/linux-4.4.14/arch/arm64/boot/dts/amd/
H A DMakefile4 subdir-y := $(dts-dirs)
/linux-4.4.14/arch/arm64/boot/dts/broadcom/
H A DMakefile4 subdir-y := $(dts-dirs)
/linux-4.4.14/arch/arm64/boot/dts/cavium/
H A DMakefile4 subdir-y := $(dts-dirs)
/linux-4.4.14/arch/arm64/boot/dts/exynos/
H A DMakefile4 subdir-y := $(dts-dirs)
/linux-4.4.14/arch/arm64/boot/dts/hisilicon/
H A DMakefile4 subdir-y := $(dts-dirs)
/linux-4.4.14/arch/arm64/boot/dts/qcom/
H A DMakefile4 subdir-y := $(dts-dirs)
/linux-4.4.14/arch/arm64/boot/dts/rockchip/
H A DMakefile4 subdir-y := $(dts-dirs)
/linux-4.4.14/arch/arm64/boot/dts/sprd/
H A DMakefile4 subdir-y := $(dts-dirs)
/linux-4.4.14/arch/arm64/boot/dts/xilinx/
H A DMakefile4 subdir-y := $(dts-dirs)
/linux-4.4.14/arch/arc/boot/dts/
H A DMakefile14 dtb-$(CONFIG_OF_ALL_DTBS) := $(patsubst $(dtstree)/%.dts,%.dtb, $(wildcard $(dtstree)/*.dts))
/linux-4.4.14/arch/h8300/boot/dts/
H A DMakefile12 dtb-$(CONFIG_OF_ALL_DTBS) := $(patsubst $(dtstree)/%.dts,%.dtb, $(wildcard $(dtstree)/*.dts))
/linux-4.4.14/arch/arm64/boot/dts/apm/
H A DMakefile5 subdir-y := $(dts-dirs)
/linux-4.4.14/arch/arm64/boot/dts/marvell/
H A DMakefile5 subdir-y := $(dts-dirs)
/linux-4.4.14/arch/arm64/boot/dts/mediatek/
H A DMakefile5 subdir-y := $(dts-dirs)
/linux-4.4.14/arch/xtensa/boot/dts/
H A DMakefile2 # arch/xtensa/boot/dts/Makefile
16 dtb-$(CONFIG_OF_ALL_DTBS) := $(patsubst $(dtstree)/%.dts,%.dtb, $(wildcard $(dtstree)/*.dts))
/linux-4.4.14/arch/arm64/boot/dts/freescale/
H A DMakefile6 subdir-y := $(dts-dirs)
/linux-4.4.14/arch/metag/boot/dts/
H A DMakefile16 dtb-$(CONFIG_OF_ALL_DTBS) := $(patsubst $(dtstree)/%.dts,%.dtb, $(wildcard $(dtstree)/*.dts))
/linux-4.4.14/drivers/thermal/
H A Dintel_soc_dts_iosf.c87 struct intel_soc_dts_sensor_entry *dts; sys_get_trip_temp() local
90 dts = tzd->devdata; sys_get_trip_temp()
91 sensors = dts->sensors; sys_get_trip_temp()
108 static int update_trip_temp(struct intel_soc_dts_sensor_entry *dts, update_trip_temp() argument
120 struct intel_soc_dts_sensors *sensors = dts->sensors; update_trip_temp()
181 dts->trip_types[thres_index] = trip_type; update_trip_temp()
201 struct intel_soc_dts_sensor_entry *dts = tzd->devdata; sys_set_trip_temp() local
202 struct intel_soc_dts_sensors *sensors = dts->sensors; sys_set_trip_temp()
210 dts->trip_types[trip]); sys_set_trip_temp()
219 struct intel_soc_dts_sensor_entry *dts; sys_get_trip_type() local
221 dts = tzd->devdata; sys_get_trip_type()
223 *type = dts->trip_types[trip]; sys_get_trip_type()
233 struct intel_soc_dts_sensor_entry *dts; sys_get_curr_temp() local
236 dts = tzd->devdata; sys_get_curr_temp()
237 sensors = dts->sensors; sys_get_curr_temp()
243 out = (out & dts->temp_mask) >> dts->temp_shift; sys_get_curr_temp()
278 static void remove_dts_thermal_zone(struct intel_soc_dts_sensor_entry *dts) remove_dts_thermal_zone() argument
280 if (dts) { remove_dts_thermal_zone()
282 SOC_DTS_OFFSET_ENABLE, dts->store_status); remove_dts_thermal_zone()
283 thermal_zone_device_unregister(dts->tzone); remove_dts_thermal_zone()
287 static int add_dts_thermal_zone(int id, struct intel_soc_dts_sensor_entry *dts, add_dts_thermal_zone() argument
301 &dts->store_status); add_dts_thermal_zone()
305 dts->id = id; add_dts_thermal_zone()
306 dts->temp_mask = 0x00FF << (id * 8); add_dts_thermal_zone()
307 dts->temp_shift = id * 8; add_dts_thermal_zone()
325 dts->trip_mask = trip_mask; add_dts_thermal_zone()
326 dts->trip_count = trip_count; add_dts_thermal_zone()
328 dts->tzone = thermal_zone_device_register(name, add_dts_thermal_zone()
331 dts, &tzone_ops, add_dts_thermal_zone()
333 if (IS_ERR(dts->tzone)) { add_dts_thermal_zone()
334 ret = PTR_ERR(dts->tzone); add_dts_thermal_zone()
344 thermal_zone_device_unregister(dts->tzone); add_dts_thermal_zone()
/linux-4.4.14/arch/arm64/boot/dts/arm/
H A DMakefile7 subdir-y := $(dts-dirs)
/linux-4.4.14/arch/arm/boot/dts/include/dt-bindings/clock/
H A Dexynos-audss-clk.h5 * The constants defined in this header are being used in dts
H A Dat91.h4 * The constants defined in this header are being used in dts.
H A Ds5pv210-audss.h11 * The constants defined in this header are being used in dts
/linux-4.4.14/arch/cris/boot/dts/include/dt-bindings/clock/
H A Dexynos-audss-clk.h5 * The constants defined in this header are being used in dts
H A Dat91.h4 * The constants defined in this header are being used in dts.
H A Ds5pv210-audss.h11 * The constants defined in this header are being used in dts
/linux-4.4.14/include/dt-bindings/clock/
H A Dexynos-audss-clk.h5 * The constants defined in this header are being used in dts
H A Dat91.h4 * The constants defined in this header are being used in dts.
H A Ds5pv210-audss.h11 * The constants defined in this header are being used in dts
/linux-4.4.14/arch/metag/boot/dts/include/dt-bindings/clock/
H A Dexynos-audss-clk.h5 * The constants defined in this header are being used in dts
H A Dat91.h4 * The constants defined in this header are being used in dts.
H A Ds5pv210-audss.h11 * The constants defined in this header are being used in dts
/linux-4.4.14/arch/mips/boot/dts/include/dt-bindings/clock/
H A Dexynos-audss-clk.h5 * The constants defined in this header are being used in dts
H A Dat91.h4 * The constants defined in this header are being used in dts.
H A Ds5pv210-audss.h11 * The constants defined in this header are being used in dts
/linux-4.4.14/arch/powerpc/boot/dts/include/dt-bindings/clock/
H A Dexynos-audss-clk.h5 * The constants defined in this header are being used in dts
H A Dat91.h4 * The constants defined in this header are being used in dts.
H A Ds5pv210-audss.h11 * The constants defined in this header are being used in dts
/linux-4.4.14/arch/h8300/
H A DMakefile31 core-y += arch/h8300/boot/dts/
39 $(Q)$(MAKE) $(build)=arch/h8300/boot/dts arch/h8300/boot/dts/$@
43 $(Q)$(MAKE) $(build)=arch/h8300/boot/dts
/linux-4.4.14/arch/arm64/boot/dts/include/dt-bindings/clock/
H A Dexynos-audss-clk.h5 * The constants defined in this header are being used in dts
H A Dat91.h4 * The constants defined in this header are being used in dts.
H A Ds5pv210-audss.h11 * The constants defined in this header are being used in dts
/linux-4.4.14/arch/microblaze/
H A DMakefile61 core-y += $(boot)/dts/
86 echo ' simpleImage.<dt> - ELF image with $(arch)/boot/dts/<dt>.dts linked in'
94 echo ' name of a dts file from the arch/microblaze/boot/dts/ directory'
95 echo ' (minus the .dts extension).'
/linux-4.4.14/arch/xtensa/
H A DMakefile89 core-$(CONFIG_OF) += arch/xtensa/boot/dts/
102 $(Q)$(MAKE) $(build)=$(boot)/dts $(boot)/dts/$@
105 $(Q)$(MAKE) $(build)=$(boot)/dts
/linux-4.4.14/arch/metag/
H A DMakefile45 core-y += arch/metag/boot/dts/
72 $(Q)$(MAKE) $(build)=$(boot)/dts $(boot)/dts/$@
75 $(Q)$(MAKE) $(build)=$(boot)/dts
/linux-4.4.14/arch/c6x/
H A DMakefile44 core-y += $(boot)/dts/
60 @echo ' dtbImage.<dt> - ELF image with $(arch)/boot/dts/<dt>.dts linked in'
/linux-4.4.14/arch/arm64/
H A DMakefile94 $(Q)$(MAKE) $(build)=$(boot)/dts $(boot)/dts/$@
99 $(Q)$(MAKE) $(build)=$(boot)/dts
102 $(Q)$(MAKE) $(dtbinst)=$(boot)/dts
111 $(Q)$(MAKE) $(clean)=$(boot)/dts
/linux-4.4.14/arch/powerpc/boot/
H A Dwrapper16 # -s tree.dts specify device-tree source file (needs dtc installed)
38 dts=
61 echo ' [-d devtree] [-s tree.dts] [-c] [-C cross-prefix]' >&2
108 dts="$1"
143 if [ -n "$dts" ]; then
144 if [ ! -r "$dts" -a -r "$object/dts/$dts" ]; then
145 dts="$object/dts/$dts"
150 $dtc -O dtb -o "$dtb" -b 0 "$dts"
406 if [ -n "$dts" ]; then
H A DMakefile193 dtstree := $(srctree)/$(src)/dts
210 # args (to if_changed): 1 = (this rule), 2 = platform, 3 = dts 4=dtb 5=initrd
383 $(obj)/%.dtb: $(src)/dts/%.dts FORCE
417 WRAPPER_DTSDIR := /usr/lib/kernel-wrapper/dts
424 dts-installed := $(patsubst $(dtstree)/%, $(DESTDIR)$(WRAPPER_DTSDIR)/%, $(wildcard $(dtstree)/*.dts))
426 all-installed := $(extra-installed) $(hostprogs-installed) $(wrapper-installed) $(dts-installed)
434 quiet_cmd_install_dts = INSTALL $(patsubst $(DESTDIR)$(WRAPPER_DTSDIR)/%,dts/%,$@)
435 cmd_install_dts = $(INSTALL) -m0644 $(patsubst $(DESTDIR)$(WRAPPER_DTSDIR)/%,$(srctree)/$(obj)/dts/%,$@) $@
455 $(dts-installed) : $(DESTDIR)$(WRAPPER_DTSDIR)/% : $(srctree)/$(obj)/dts/% | $(DESTDIR)$(WRAPPER_DTSDIR)
H A Dcuboot-52xx.c36 * soc node name in existing dts files -- once that is fixed, platform_fixups()
H A Dcuboot-83xx.c32 * soc node name in existing dts files -- once that is fixed, platform_fixups()
H A Dcuboot-85xx-cpm2.c34 * soc node name in existing dts files -- once that is fixed, platform_fixups()
H A Dcuboot-85xx.c35 * soc node name in existing dts files -- once that is fixed, platform_fixups()
/linux-4.4.14/arch/nios2/boot/
H A DMakefile51 $(obj)/%.dtb: $(src)/dts/%.dts FORCE
/linux-4.4.14/drivers/gpu/drm/tilcdc/
H A Dtilcdc_slave_compat.h17 /* This header declares the symbols defined in tilcdc_slave_compat.dts */
/linux-4.4.14/arch/arc/
H A DMakefile97 core-y += arch/arc/boot/dts/
121 $(Q)$(MAKE) $(build)=$(boot)/dts $(boot)/dts/$@
124 $(Q)$(MAKE) $(build)=$(boot)/dts
/linux-4.4.14/arch/arm/boot/dts/include/dt-bindings/clk/
H A Dti-dra7-atl.h4 * The constants defined in this header are used in dts files
/linux-4.4.14/arch/cris/boot/dts/include/dt-bindings/clk/
H A Dti-dra7-atl.h4 * The constants defined in this header are used in dts files
/linux-4.4.14/include/dt-bindings/clk/
H A Dti-dra7-atl.h4 * The constants defined in this header are used in dts files
/linux-4.4.14/arch/metag/boot/dts/include/dt-bindings/clk/
H A Dti-dra7-atl.h4 * The constants defined in this header are used in dts files
/linux-4.4.14/arch/microblaze/boot/
H A DMakefile37 clean-files += simpleImage.*.unstrip linux.bin.ub dts/*.dtb
/linux-4.4.14/arch/mips/boot/dts/include/dt-bindings/clk/
H A Dti-dra7-atl.h4 * The constants defined in this header are used in dts files
/linux-4.4.14/arch/powerpc/boot/dts/include/dt-bindings/clk/
H A Dti-dra7-atl.h4 * The constants defined in this header are used in dts files
/linux-4.4.14/arch/arm64/boot/dts/include/dt-bindings/clk/
H A Dti-dra7-atl.h4 * The constants defined in this header are used in dts files
/linux-4.4.14/drivers/pps/generators/
H A Dpps_gen_parport.c73 struct timespec expire_time, ts1, ts2, ts3, dts; hrtimer_event() local
127 dts = timespec_sub(ts3, ts2); hrtimer_event()
129 (dev->port_write_time + timespec_to_ns(&dts)) >> 1; hrtimer_event()
133 dts = timespec_sub(ts1, expire_time); hrtimer_event()
134 delta = timespec_to_ns(&dts); hrtimer_event()
/linux-4.4.14/scripts/dtc/
H A Ddtc.c110 const char *inform = "dts"; main()
111 const char *outform = "dts"; main()
216 if (streq(inform, "dts")) main()
248 if (streq(outform, "dts")) { main()
H A Dfdtdump.c66 printf("/dts-v1/;\n"); dump_blob()
H A Dtreesource.c270 fprintf(f, "/dts-v1/;\n\n"); dt_to_source()
/linux-4.4.14/arch/openrisc/
H A DMakefile53 core-$(BUILTIN_DTB) += arch/openrisc/boot/dts/
/linux-4.4.14/arch/cris/
H A DMakefile44 core-$(CONFIG_OF) += arch/cris/boot/dts/
/linux-4.4.14/fs/jfs/
H A Djfs_dtree.h132 #define addressDTS(dts)\
133 ( ((s64)((dts)->addr1)) << 32 | __le32_to_cpu((dts)->addr2) )
/linux-4.4.14/arch/mips/
H A DMakefile364 core-$(CONFIG_BUILTIN_DTB) += arch/mips/boot/dts/
367 $(Q)$(MAKE) $(build)=arch/mips/boot/dts arch/mips/boot/dts/$@
371 $(Q)$(MAKE) $(build)=arch/mips/boot/dts
375 $(Q)$(MAKE) $(dtbinst)=arch/mips/boot/dts
/linux-4.4.14/drivers/misc/
H A Dqcom-coincell.c73 * This is mainly to flag a bad base_addr (reg) from dts. qcom_coincell_chgr_config()
/linux-4.4.14/arch/arm/
H A DMakefile333 $(Q)$(MAKE) $(build)=$(boot)/dts MACHINE=$(MACHINE) $(boot)/dts/$@
338 $(Q)$(MAKE) $(build)=$(boot)/dts
341 $(Q)$(MAKE) $(dtbinst)=$(boot)/dts
/linux-4.4.14/arch/arm/boot/
H A DMakefile118 subdir- := bootp compressed dts
/linux-4.4.14/arch/powerpc/platforms/86xx/
H A Dmpc86xx_hpcn.c106 pr_warning("WARNING: your dts/dtb is old. You must update before the next kernel release\n"); mpc86xx_hpcn_probe()
/linux-4.4.14/arch/powerpc/
H A DMakefile331 @echo ' name of a dts file from the arch/$(ARCH)/boot/dts/ directory'
332 @echo ' (minus the .dts extension).'
/linux-4.4.14/drivers/input/keyboard/
H A Dsnvs_pwrkey.c121 dev_warn(&pdev->dev, "KEY_POWER without setting in dts\n"); imx_snvs_pwrkey_probe()
/linux-4.4.14/arch/powerpc/include/asm/
H A Dhugetlb.h192 * the .dts as on IBM platforms.
H A Dcpm2.h662 ushort dts; /* destination transfer size */ member in struct:idma
/linux-4.4.14/drivers/rtc/
H A Drtc-snvs.c247 dev_warn(&pdev->dev, "snvs rtc: you use old dts file, please update it\n"); snvs_rtc_probe()
H A Drtc-isl12057.c469 * the device's .dts file using the "wakeup-source" boolean property.
474 * property has been set in the .dts file. Otherwise, it returns 0.
/linux-4.4.14/drivers/char/tpm/st33zp24/
H A Di2c.c129 "Failed to retrieve lpcpd-gpios from dts.\n"); st33zp24_i2c_of_request_resources()
H A Dspi.c249 "Failed to retrieve lpcpd-gpios from dts.\n"); tpm_stm_spi_of_request_resources()
/linux-4.4.14/tools/power/x86/turbostat/
H A Dturbostat.c2283 unsigned int dts; print_thermal() local
2304 dts = (msr >> 16) & 0x7F; print_thermal()
2306 cpu, msr, tcc_activation_temp - dts); print_thermal()
2312 dts = (msr >> 16) & 0x7F; print_thermal()
2315 cpu, msr, tcc_activation_temp - dts, tcc_activation_temp - dts2); print_thermal()
2326 dts = (msr >> 16) & 0x7F; print_thermal()
2329 cpu, msr, tcc_activation_temp - dts, resolution); print_thermal()
2335 dts = (msr >> 16) & 0x7F; print_thermal()
2338 cpu, msr, tcc_activation_temp - dts, tcc_activation_temp - dts2); print_thermal()
2628 /* tcc_activation_temp is used only for dts or ptm */ set_temperature_target()
/linux-4.4.14/drivers/hwmon/
H A Dw83795.c23 * Chip #vin #fanin #pwm #temp #dts wchipid vendid i2c ISA
363 s8 dts[8]; /* Register value */ member in struct:w83795_data
660 /* Update dts temperature */ w83795_update_device()
662 for (i = 0; i < ARRAY_SIZE(data->dts); i++) { w83795_update_device()
665 data->dts[i] = w83795_update_device()
1388 long temp = temp_from_reg(data->dts[index]); show_dts()
H A Dg762.c10 * ability to configure various characteristics via .dts file or
575 * Helper to import hardware characteristics from .dts file and push
703 * Helper to import hardware characteristics from .dts file and push g762_of_clock_disable()
/linux-4.4.14/arch/arm/boot/dts/
H A DMakefile783 dtb-$(CONFIG_OF_ALL_DTBS) := $(patsubst $(dtstree)/%.dts,%.dtb, $(wildcard $(dtstree)/*.dts))
/linux-4.4.14/arch/powerpc/platforms/52xx/
H A Dmpc52xx_gpt.c29 * to the device tree node for the gpt device (typically in the .dts file
774 /* Depreciated compatible values; don't use for new dts files */
/linux-4.4.14/drivers/regulator/
H A Dpfuze100-regulator.c542 dev_err(&client->dev, "No dts match or id table match found\n"); pfuze100_regulator_probe()
/linux-4.4.14/arch/powerpc/sysdev/
H A Dfsl_msi.c457 * First read the MSIIR/MSIIR1 offset from dts fsl_of_msi_probe()
H A Dppc4xx_pci.c1862 * 0 (SDRAM). This should probably be configurable via a dts ppc4xx_configure_pciex_PIMs()
/linux-4.4.14/arch/arm/mach-omap2/
H A Ddisplay.c609 /* only create dss helper devices if dss is enabled in the .dts */ omapdss_init_of()
H A Domap_device.c921 "legacy booting deprecated, please update to boot with .dts\n"); omap_device_late_init()
/linux-4.4.14/drivers/dma/
H A Dfsl_raid.c660 /* read reg property from dts */ fsl_re_chan_probe()
671 /* read irq property from dts */ fsl_re_chan_probe()
H A Dimx-sdma.c1642 * init dma_request2 to zero, which is not used by the dts. sdma_xlate()
/linux-4.4.14/drivers/net/ethernet/apm/xgene/
H A Dxgene_enet_hw.c794 netdev_dbg(ndev, "No mdio node in the dts\n"); xgene_mdiobus_register()
/linux-4.4.14/arch/x86/include/asm/
H A Dcpufeature.h45 #define X86_FEATURE_DS ( 0*32+21) /* "dts" Debug Store */
/linux-4.4.14/drivers/clk/
H A Dclk-vt8500.c269 * almost all the clocks and reduces dts properties vtwm_device_clk_init()
/linux-4.4.14/drivers/memory/
H A Domap-gpmc.c1961 WARN(1, "enable GPMC debug to configure .dts timings for CS%i\n", gpmc_probe_generic_child()
1964 "please add GPMC bootloader timings to .dts"); gpmc_probe_generic_child()
/linux-4.4.14/arch/mips/include/asm/octeon/
H A Dcvmx-pciercx-defs.h565 uint32_t dts:1; member in struct:cvmx_pciercx_cfg015::cvmx_pciercx_cfg015_s
591 uint32_t dts:1;
/linux-4.4.14/drivers/usb/musb/
H A Dmusb_dsps.c757 "(super-speed) setting in dts"); dsps_create_musb_pdev()
/linux-4.4.14/drivers/mtd/nand/
H A Dfsmc_nand.c898 dev_info(&pdev->dev, "No timings in dts specified, using default timings!\n"); fsmc_nand_probe_config_dt()
/linux-4.4.14/drivers/of/
H A Dfdt.c353 * Reverse the child list. Some drivers assumes node order matches .dts unflatten_dt_node()
H A Dbase.c1183 * dts entry of array should be like:
1216 * dts entry of array should be like:
/linux-4.4.14/drivers/pinctrl/mediatek/
H A Dpinctrl-mtk-common.c1370 /* Get EINT register base from dts. */ mtk_pctrl_init()
/linux-4.4.14/drivers/tty/serial/
H A Domap-serial.c1608 /* The optional wakeirq may be specified in the board dts file */ serial_omap_probe()
/linux-4.4.14/drivers/pinctrl/
H A Dpinctrl-single.c1130 * in the .dts file. Further user space debugging tools can be developed to
/linux-4.4.14/scripts/
H A Dcheckpatch.pl2626 next if ($realfile !~ /\.(h|c|s|S|pl|sh|dtsi|dts)$/);
2701 next if ($realfile !~ /\.(h|c|pl|dtsi|dts)$/);
/linux-4.4.14/drivers/usb/dwc2/
H A Dgadget.c92 * g_using_dma is set depending on dts flag.

Completed in 2044 milliseconds